我的應用程序不適用於Android 7.我的BroadcastReceiver.onReceive方法被調用,但intent.getExtras的內容缺失。我已驗證數據是否正確加載。這是我的onReceive方法的一個片段,其中intent作爲參數傳遞給onReceive。Android 7 BroadcastReceiver onReceive intent.getExtras缺少數據
Bundle bundle = intent.getExtras();
textMessage = bundle.getString("TEXT_MESSAGE");
ArrayList<MyPhoneNumber> phoneNumbersToText = bundle.getParcelableArrayList("PHONE_NUMBERS");
textMessage和phoneNumbersToText都爲空。
下面是從我的清單文件中的一個片段:
<receiver android:process=":remote" android:name="com.friscosoftware.timelytextbase.AlarmReceiver"></receiver>
在此處,將數據加載一個片段:
Intent intent = new Intent(context , AlarmReceiver.class);
intent.putExtra(Constants.TEXT_MESSAGE, scheduledItem.getMessageToSend());
intent.putExtra(Constants.PHONE_NUMBERS, scheduledItem.getPhoneNumbersToText());
PendingIntent sender = PendingIntent.getBroadcast(context, getRequestCodeFromKey(key), intent, PendingIntent.FLAG_UPDATE_CURRENT);
// Get the AlarmManager service
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, selectedDateTime.getTimeInMillis(), sender);
相同的代碼工作正常,在Android的6
有什麼想法此處需要對Android 7進行哪些更改?
謝謝
謝謝,我會試試你的建議。希望有一個解決方案即將出臺。 –
您的解決方案有效,但由於其他原因,我決定將數據存儲在數據庫中,只需傳遞密鑰即可。 –