android 广播无效,Android sendBroadcast广播不起作用
原因:targetSdkVersion >25 时用sendBroadcast不起作用Intent intent = new Intent();intent.setAction(WebSocketReceiver.INTENT_ACTION_WEBSOCKET);intent.putExtra(INTENT_WEBSOCKET_MSG, message);mContext.sendBroad
原因:targetSdkVersion >25 时用sendBroadcast不起作用
Intent intent = new Intent();
intent.setAction(WebSocketReceiver.INTENT_ACTION_WEBSOCKET);
intent.putExtra(INTENT_WEBSOCKET_MSG, message);
mContext.sendBroadcast(mContext,intent);
解决:
private static void sendImplicitBroadcast(Context ctxt, Intent i) {
PackageManager pm=ctxt.getPackageManager();
List matches=pm.queryBroadcastReceivers(i, 0);
for (ResolveInfo resolveInfo : matches) {
Intent explicit=new Intent(i);
ComponentName cn=
new ComponentName(resolveInfo.activityInfo.applicationInfo.packageName,
resolveInfo.activityInfo.name);
explicit.setComponent(cn);
ctxt.sendBroadcast(explicit);
}
}
Intent intent = new Intent();
intent.setAction(WebSocketReceiver.INTENT_ACTION_WEBSOCKET);
intent.putExtra(INTENT_WEBSOCKET_MSG, message);
sendImplicitBroadcast(mContext,intent);
更多推荐
所有评论(0)