我正在创建一个剩余应用程序,它在指定的时间启动警报并重复,直到用户停止它。
我生成一个唯一的数字并将其传递给我的AlarmManager类
PendingIntent pendingIntent = PendingIntent.getBroadcast(
this.getApplicationContext(), remainderID.intValue(), intent, 0);
// remainderID is unqiue value, generated from Database.
我知道取消闹钟的步骤,但我无法理解如何在广播接收器类中获取此ID。
请指导我。
答案 0 :(得分:1)
您可以使用putExtra()
将此ID传递给意图,如下所示
intent.putExtra("ID", remainderID.intValue();
然后将此意图传递给待处理的意图。
在广播接收器类中,您可以按如下方式检索它:
intent.getIntExtra("ID", -1);
// Make sure the name is exactly the same in put and get
// Put the default value as an int you're sure doesn't exist in your database
我希望这会有所帮助!
答案 1 :(得分:0)
PendingIntent pendingIntent = PendingIntent.getBroadcast(
this.getApplicationContext(), remainderID.intValue(), intent, 0);
将您需要的唯一代码和其他任何数据添加到上面的意图中,并在下面的AlarmService类中提取相同的意图。
public class AlarmService extends IntentService {
@Override
public void onHandleIntent(Intent intent) {
if (intent == null) return;
try
{
// send the intent to your AlarmManager class and process it there.
YourAlarmManager.processAlarm(intent, this);
} catch (Exception e){
e.printStackTrace();
}
}
}
希望这有帮助! :)