我创建了一个 AlarmReceiver 类,用作警报的广播接收器。问题是我需要从设置警报的类发送一些值到广播接收器类。
设置报警管理器.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);
我需要从 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...
}
}
最佳答案
你可以使用:
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");
}
}
关于android - 将额外的 Intent 传递给 android 广播接收器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8426870/