将意图额外传递给android广播接收器

Joh*_*ohn 14 android broadcastreceiver alarmmanager android-intent android-pendingintent

我创建了一个AlarmReceiver类,用作警报的广播接收器.问题是我需要从将类警报设置到广播接收器类的类中发送一些值.

setAlarmManager.java

     Intent i = new Intent(mContext, AlarmReceiver.class);
     i.putExtra(KEY_ROWID, (long)taskId); 
     PendingIntent pi = PendingIntent.getBroadcast(mContext,taskId_int,i,PendingIntent.FLAG_ONE_SHOT); 
     mAlarmManager.set(AlarmManager.RTC_WAKEUP, when.getTimeInMillis(), pi);
Run Code Online (Sandbox Code Playgroud)

我需要在alarmreceiver类中从intent获取KEY_ROWID.我怎样才能做到这一点?AlarmReceiver类如下所示.

public class AlarmReceiver extends BroadcastReceiver {
          public static final String ALARM_ALERT_ACTION ="com.android.alarmclock.ALARM_ALERT";
          public static final String ALARM_INTENT_EXTRA = "intent.extra.alarm";

     @Override
      public void onReceive(Context context, Intent intent) {

             //Here I need the values from intent using bundle or anything...

    }
}
Run Code Online (Sandbox Code Playgroud)

Bin*_*abu 14

您可以使用 :

public class AlarmReceiver extends BroadcastReceiver {
          public static final String ALARM_ALERT_ACTION ="com.android.alarmclock.ALARM_ALERT";
          public static final String ALARM_INTENT_EXTRA = "intent.extra.alarm";

     @Override
      public void onReceive(Context context, Intent intent) {

             String keyid = intent.getStringExtra("KEY_ROWID");
    }
}
Run Code Online (Sandbox Code Playgroud)