java - 如何将数据从 Activity 传递到 BroadcastReceiver?

标签 java android

我有调用广播接收器的代码,在接收器中,我尝试从 Intent 中获取额外的数据,但它是空的。

所以,

     Intent intent = new Intent(MainActivity.this, CallAlarm.class);
                          intent.putExtra("medicine", "kkk");

                          PendingIntent sender=PendingIntent.getBroadcast(
                                  MainActivity.this,0, intent, 0);

                          AlarmManager am;
                          am = (AlarmManager)getSystemService(ALARM_SERVICE);
                          am.set(AlarmManager.RTC_WAKEUP,
                                 c.getTimeInMillis(),
                                 sender
                                );

在BroadcastReceiver.onReceiver()中,

    String name = i.getStringExtra("medicine");

但是医学是无效的。我错过了什么?

最佳答案

只需创建带有标志 PendingIntent.FLAG_UPDATE_CURRENT 的 PendingIntent ,

 Intent intent = new Intent(MainActivity.this, CallAlarm.class);
 intent.putExtra("medicine", "kkk");
 PendingIntent sender=PendingIntent.getBroadcast(
                                  MainActivity.this,0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

这将使您能够将数据传递到 BroadCastReceiver。

关于java - 如何将数据从 Activity 传递到 BroadcastReceiver?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9124948/

相关文章:

java - 有人可以在曼哈顿距离中为我解释一下 Java 中的 8 谜题吗?

java - Java方法实现中的链表

Android点击列表项勾选错复选框

javascript - 图像上传、调整大小和编码为 base64 导致 Chrome 在移动设备上崩溃

android - 如何通过android代码在通话过程中改变人的声音,同时他正在调用另一个人

java - 将文本转换为 BigInteger 时的 RSA 实现问题

java - 不确定为什么我的实例出现错误

android - 应用程序因 classes.dex 权限被拒绝错误而崩溃

java - Gradle 同步失败 : Cause: error in opening zip file Corrupt Dependency Cache

java - 获取当前设置的内容 View