当前位置:首页 » 安卓系统 » android广播监听

android广播监听

发布时间: 2022-09-02 01:26:48

❶ 求助 关于Android广播如何全局监听

这个是onCreate里面的代码
// 注册接收新消息的监听广播
msgReceiver = new NewMessageBroadcastReceiver();
IntentFilter intentFilter = new IntentFilter(EMChatManager
.getInstance().getNewMessageBroadcastAction());
intentFilter.setPriority(3);
registerReceiver(msgReceiver, intentFilter);

下面是自己写的广播里的操作

private class NewMessageBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 注销广播
abortBroadcast();
// 消息id(每条消息都会生成唯一的一个id,目前是SDK生成)
String msgId = intent.getStringExtra("msgid");
EMMessage message = EMChatManager.getInstance().getMessage(msgId);
String news = ((TextMessageBody) message.getBody()).getMessage();
// 发送人id
String userId = intent.getStringExtra("from");

username = userId;
Info info = new Info();
info.setText(news);
info.setId(msgId);
info.setUserid(userId);
list.add(info);

}

}

❷ android静态注册监听系统广播,如何只让本工程能够使用

在自己的功能中加一个标记为,退出的时候设为false,然后在监听广播处理的地方判断这个标记位,如果是false就不处理接收到的广播。

这样不就好了?其实干嘛不直接用动态注册呢?

❸ 在android中怎么让广播长久地监听服务

使用静态广播.这样就会常驻系统.

❹ Android使用广播监听网络状态变化 一直收到系统广播

因为这个系统广播在不停的发送,系统网络状态在不停的变化。比如关闭,打开,扫描,正在连接,已连接等状态。

❺ android开发怎么监控来电并监听

实现如下广播,并且在AndroidManifest中进行注册

public class PhoneReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
System.out.println("action"+intent.getAction());
//如果是去电
if(intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)){
String phoneNumber = intent
.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Log.d(TAG, "call OUT:" + phoneNumber);
}else{
//查了下android文档,貌似没有专门用于接收来电的action,所以,非去电即来电.
//如果我们想要监听电话的拨打状况,需要这么几步 :
* 第一:获取电话服务管理器TelephonyManager manager = this.getSystemService(TELEPHONY_SERVICE);
* 第二:通过TelephonyManager注册我们要监听的电话状态改变事件。manager.listen(new MyPhoneStateListener(),
* PhoneStateListener.LISTEN_CALL_STATE);这里的PhoneStateListener.LISTEN_CALL_STATE就是我们想要
* 监听的状态改变事件,初次之外,还有很多其他事件哦。
* 第三步:通过extends PhoneStateListener来定制自己的规则。将其对象传递给第二步作为参数。
* 第四步:这一步很重要,那就是给应用添加权限。android.permission.READ_PHONE_STATE

TelephonyManager tm = (TelephonyManager)context.getSystemService(Service.TELEPHONY_SERVICE);
tm.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
//设置一个监听器
}
}
PhoneStateListener listener=new PhoneStateListener(){

@Override
public void onCallStateChanged(int state, String incomingNumber) {
//注意,方法必须写在super方法后面,否则incomingNumber无法获取到值。
super.onCallStateChanged(state, incomingNumber);
switch(state){
case TelephonyManager.CALL_STATE_IDLE:
System.out.println("挂断");
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
System.out.println("接听");
break;
case TelephonyManager.CALL_STATE_RINGING:
System.out.println("响铃:来电号码"+incomingNumber);
//输出来电号码
break;
}
}

❻ 如何在application中设置广播监听

可以给application注册一个ondestroy事件,即销毁时触发的事件。
在Android中,Activity有个栈,一个Activity结束掉,会回到上一个Activity,并不是退出应用程序。
Android中,退出应用程序的方式:
1.通过pid
int pid = android.os.Process.myPid(); //获取当前应用程序的PID
android.os.Process.killProcess(pid); //杀死当前进程
这种方法退出应用,是会保留某些后进程,例如:Service,Notifications等。

2.通过ActivityManager
ActivityManager manager = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE); //获取应用程序管理器
manager.killBackgroundProcesses(getPackageName()); //强制结束当前应用程序
这种方式退出应用,会结束本应用程序的一切活动,因为本方法会根据应用程序的包名杀死所有进程包括Activity,Service,Notifications等。

❼ android 怎么把广播监听转变成c代码

感觉这个需求有点违反常理,广播监听android 的java语言已经做的很好了,使用c语言还真不知道怎么搞。

❽ android tf卡和u盘的广播监听是一样的吗

当然是不一样的。

❾ android为什么监听不到应用覆盖安装的广播

这里的广播是指你app里的广播还是手机系统的广播。
如果是你自己手机的app的广播,你是否有注册监听广播。
如果是手机系统的广播,因为以前所有的app开启及运行,都以监听手机开机广播,后来开发商直接拦截,不让app监听手机开机等广播。

热点内容
解压香皂视频合集完整版全集 发布:2025-01-12 10:03:33 浏览:571
hill密码的加密 发布:2025-01-12 09:56:33 浏览:613
组卷源码 发布:2025-01-12 09:51:12 浏览:997
java文件夹改名 发布:2025-01-12 09:49:01 浏览:116
脚本函数未定义 发布:2025-01-12 09:39:44 浏览:636
页面PHP 发布:2025-01-12 09:38:07 浏览:201
邮政银行打电话登录密码是什么 发布:2025-01-12 09:37:27 浏览:563
linuxroot远程登录 发布:2025-01-12 09:37:26 浏览:302
怎么算服务器ip 发布:2025-01-12 08:59:19 浏览:855
安卓与ios哪个适合做主力机 发布:2025-01-12 08:54:11 浏览:341