gpt4 book ai didi

android - 通过 Android 中的 Intent 将参数传递给 BroadcastReceiver

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:33 25 4
gpt4 key购买 nike

我有一个应用程序,它使用 AlarmManager 设置一个警报,它在它关闭时启动另一个 Activity。 AlarmManager 采用 PendingIntent 并在指定时间到来时生成 BroadcastReceiver 类。我想知道是否有任何方法可以通过进入 PendingIntent 的 Intent 对象将参数传递给此 BroadcastReceiver?

基本上我想做的是这样的:

Intent my_intent = new Intent(this, BroadcastService.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, my_intent, 0);
my_intent.putExtra("arg1", arg1);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (1000), pendingIntent);

并且我希望能够在 BroadcastReceiver 的 onReceive(Context, Intent) 方法中检索 arg1。我认为局部变量 my_intent 将是 PendingIntent 传递给 onReceive 的第二个参数,但显然这不太正确。是否可以通过这种方式(使用 Intent.putExtra())在 Activity 和 BroadcastReceiver 之间传递参数,还是应该改用 ContentProvider?

谢谢!

伊娃

最佳答案

我遇到了类似的问题,但我已经先填充 Intent,然后再将其包装在 PendingIntent 中。但正如上面所指出的,我的问题的答案是我需要使用 PendingIntent.FLAG_UPDATE_CURRENT 标志。一旦我设置了标志,它就起作用了!我希望这对其他人有帮助。-杰夫

关于android - 通过 Android 中的 Intent 将参数传递给 BroadcastReceiver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2062564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com