当前位置: 首页 > 知识库问答 >
问题:

无法从意图中获取额外值

燕钟展
2023-03-14

我知道,要放入值,我可以intent.putExtra(key,value),要检索值,我可以intent.getStringExtra(key),但在下面的代码中,它的行为不像预期的那样。检索值时,我获得nullpointer,printLn需要一个消息

设置值的代码:

public void SetAlarm(Context context, int seconds, String type) {
    CustomLog.logBlue(Thread.currentThread().getStackTrace(), "set alarm");

    AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

    Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class);
    intent.putExtra(ONE_TIME, Boolean.FALSE); //ONE_TIME = "oneTime"
    intent.putExtra("c", "ayush");

    PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
    am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), seconds * 1000, pi);

    CustomNotification.generateNotification(1, context, "Tracking enabled");
}

并且我正在检索BroadCaseReceiver的onReceive中的值:[省略的无关代码]

@Override
public void onReceive(Context context, Intent intent) {
     Bundle extras = intent.getExtras();
     Log.e("test", extras.getString("c"); <------ ERROR
     // also tried intent.getStringExtra("c");
}

共有1个答案

宗安翔
2023-03-14

调用PendingIntent.getBroadcast()时使用标志FLAG_UPDATE_CURRENT。在您的代码中:

PendingIntent pi = PendingIntent.getBroadcast(
                                 context, 0, intent, 
                                 PendingIntent.FLAG_UPDATE_CURRENT);
 类似资料:
  • 嗨,我有我想看的帖子,点击帖子进入活动2。类并查看模型变量中包含数据的一些数据,那么将所有数据发送到intent或发送post键有什么好处?在活动2中,按键从数据库中再次获取数据(我只知道最好的方法,而不是代码)(我使用mvvm)

  • 我想从接收正常文件路径,如下所示: 这个文件也存在,但我不能得到它。我在这里看到了一些建议获得路径的问题,如下所示: 但此方法返回以下异常: 因此,我在这里收到的: 如何将文件转换为字符串:

  • 嗨,伙计们,我已经修复了最初的问题,但现在它不是正确的加起来。我不确定该做什么,哪里出了问题。如有任何帮助,我们将不胜感激。 导入java.util.scanner; public类zoo{public static void main(String[]args){

  • 有没有一种方法可以只从一个类中接收意图附加内容?例如,我有两个使用意图打开第三个活动的活动。现在我只希望前两个中的一个通过附加内容,这样我就可以在第三个活动中接收它。 我已经实现了所有功能,但它会崩溃,因为当我打开第二个没有添加额外功能的第三个活动时,它会崩溃我的应用程序。 为了更清楚地描述它: 活动1:通过意向附加 活动1和2都使用意图来启动活动3,但我只需要活动1中的额外内容。

  • 我想使用共享命令从图库获取图像。 我目前的代码是: imageUri 的值为:content://media/external/images/media/37 但是函数“openInputStream”会抛出错误“java.io.FileNotFoundException”。 通过下面的函数,我得到了图像的真实路径。 但我不知道如何将其转换为位图。

  • 问题内容: 我想我要跳过通过。但是我找不到多余的东西吗?任何get方法都会收到类似“不适用于字符串”之类的错误。 项目详细信息: 我的课: 我的putExtra: GetChild函数: 但是我找不到我应该怎么写来获取arrayList? 问题答案: 但是我找不到应该怎么写来获取arrayList 简短答案:您不能。您只能通过,然后使用 但是 。如果要通过Intent传递自定义对象,则必须实现以下