Ich habe einen BroadcastReceiver, der Daten von Activity by Intent erhält, mit PendingIntent.
Daten senden:
Intent intent = new Intent(addOne.this,AlarmReceiver.class);
intent.putExtra("msg", title.getText().toString());
intent.putExtra("note", note.getText().toString());
int id =...;
PendingIntent alarmIntent = PendingIntent.getBroadcast(getApplicationContext(), id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmMgr.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), alarmIntent);
Daten bekommen:
@Override
public void onReceive(Context context2, Intent intent) {
String msg=intent.getStringExtra("msg");
String title=intent.getStringExtra("msg");
...
}
Wenn onReceive aufgerufen wird, erhalte ich eine NullPointerException.
Mein BroadcastReceiver-Manifest:
<receiver android:name=".AlarmReceiver" android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Antworten:
0 für die Antwort № 1Machen Sie Ihre ausstehende Absicht wie unter Linie und versuchen Sie es
PendingIntent alarmIntent = PendingIntent.getBroadcast(getApplicationContext(), id, intent, PendingIntent.FLAG_CANCEL_CURRENT);