Android将数据从Activity传递到BroadcastReceiver显示为null

jac*_*bot 4 android broadcastreceiver android-activity

我有一个活动,它使用AlarmManager在特定时间点调用BroadcastReceiver.这一切都很好,除非我在调用BroadcastReceiver时尝试向intent添加一些额外的字符串,它们总是在另一端变为null.

活动代码:

    Intent intent = new Intent(this, ScheduleReceiver.class);
    intent.putExtra("testString", "I'm a string");
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 999, intent, 0);

    AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
    alarmManager.set(AlarmManager.RTC, System.currentTimeMillis(), pendingIntent);
Run Code Online (Sandbox Code Playgroud)

BroadcastReceiver代码

 public void onReceive(Context context, Intent intent) {
      Log.v(TAG, "TestString: " + intent.getStringExtra("testString"));
 }
Run Code Online (Sandbox Code Playgroud)

'teststring'的内容总是null在BroadcastReceiver中,我做错了什么?

Mac*_*rse 7

尝试使用:

intent.getExtras().get("testString");
Run Code Online (Sandbox Code Playgroud)