小编gir*_*dge的帖子

Android BroadcastReceiver onReceive()在android 4.0上调用了两次

我遇到了android 4.0.3上的一个问题(在4.1.2上工作正常).我有我的Activity BroadcastReceiver.当我发送广播时,方法onReceive()总是被调用两次.请给我关于4.0和4.1的BroadcastReceiver差异的任何建议

private final GcmBroadcastReceiver gcmReceiver = new GcmBroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        final String action = intent.getAction();
        if (action != null && action.equals(MyBroadcastReceiver.ACTION)) {
            Log.d("tag", intent.getStringExtra("alert"));
            }
        }
    };

};


@Override
protected void onPause() {
    unregisterReceiver(gcmReceiver);
    super.onPause();
}

@Override
protected void onResume() {
    super.onResume();
    registerGcmReceiver();
}

private void registerGcmReceiver() {
    IntentFilter filter = new IntentFilter(MyBroadcastReceiver.ACTION);
    filter.setPriority(2);
    filter.addCategory("com.android.mypackage");
    registerReceiver(gcmReceiver, filter);
}
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver

25
推荐指数
4
解决办法
3万
查看次数

标签 统计

android ×1

broadcastreceiver ×1