[英]Why isn't this simple broadcast receiver working?
我有两个应用程序,每个应用程序都有一个无障碍服务。 一个应用程序的无障碍服务发送广播,另一个应用程序的无障碍服务接收它。
这是发送广播的服务:
Intent intent = new Intent();
intent.setAction("com.corps.mypackage");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //this is needed if broadcast not being sent from activity
sendBroadcast(intent);
这是接收广播的服务:
IntentFilter intentFilter = new IntentFilter("com.corps.mypackage");
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//Do some things
}
};
registerReceiver(receiver, intentFilter);
未接收到广播。 可能是什么原因?
根据Android 文档:
只要注册上下文有效,上下文注册的接收者就会接收广播。 例如,如果您在 Activity 上下文中注册,只要该 Activity 未被销毁,您就会收到广播。 如果您在应用程序上下文中注册,只要应用程序正在运行,您就会收到广播。
您接收应用的上下文可能无效。 考虑改用清单声明的接收器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.