Android LocalBroadcastManager在emulator(4.4.2)上接收具有相同操作字符串的所有广播,但在电话(4.0.4)上不接收

Android LocalBroadcastManager在emulator(4.4.2)上接收具有相同操作字符串的所有广播,但在电话(4.0.4)上不接收,android,broadcastreceiver,Android,Broadcastreceiver,广播接收机: public class OrderReceiver extends BroadcastReceiver { onReceive(Context mContext, Intent intent) { if (action.equals("com.google.android.c2dm.intent.REGISTRATION")) { //reference 1 //do some wo

广播接收机:

public class OrderReceiver extends BroadcastReceiver {
    onReceive(Context mContext, Intent intent) {
             if (action.equals("com.google.android.c2dm.intent.REGISTRATION")) {
                //reference 1
                //do some work
                LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(mContext);
                intent.setAction("com.gndp.message.RECEIVED");
                lbm.sendBroadcast(intent);
             }   
             else if (action.equals("com.google.android.c2dm.intent.RECEIVE")) {
                //reference 2
                //do some work
                LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(mContext);
                intent.setAction("com.gndp.message.RECEIVED");
                lbm.sendBroadcast(intent);
             }
        }
内部活动:

onCreate(){
    BroadcastReceiver deviceRegisteredBroadcastReciever = new BroadcastReceiver() {
            onReceive(Context context, Intent intent) {
                //reference 3
                if(intent.getStringExtra("data1")==null){
                    //code 1
                }
                else{
                    //code 2
                }
            }
}
onResume(){
    LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(mContext);
    lbm.registerReceiver(deviceRegisteredBroadcastReciever, new IntentFilter("com.gndp.message.RECEIVED"));
}
在emulator上,代码达到:

参考文献1--->参考文献3

参考文献2--->参考文献3

但在设备上,代码达到:

参考文献1--->参考文献3

参考2--X-->参考3到达参考2,但在参考3未接收广播

logcat中没有错误。以下是我的androidManifest.xml:

<receiver
        android:name="com.gndp.OrderReceiver"
        android:exported="true"
        android:permission="com.google.android.c2dm.permission.SEND" >
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
            <category android:name="com.gndp" />
        </intent-filter>
</receiver>

也许您的进程在接收GCM广播到达之前终止,因此此时您的活动已消失。@Commonware设备的屏幕始终处于打开状态,活动始终处于前台。进程是否仍有可能被终止?不,这排除了这种情况。