gpt4 book ai didi

android - 向报警管理器广播接收器发送数据

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:55:12 25 4
gpt4 key购买 nike

我在这里遗漏了一些东西,我希望有人能帮助我。我正在使用以下设置闹钟:

    AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);

Intent broadcast_intent = new Intent(this, AlarmBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, broadcast_intent, 0);

broadcast_intent.putExtra("test", "ValueReceived"); //data to pass
Date date = someVariable.getDateTime();


long triggerAtTime = date.getTime();

alarmManager.set(AlarmManager.RTC_WAKEUP, triggerAtTime, pendingIntent);

和使用以下内容的广播接收器:

public class AlarmBroadcastReceiver extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {

Toast.makeText(context, "Alarm has been received "+intent.getStringExtra("test"), Toast.LENGTH_LONG).show();

}

}

但是 Intent 显然是“空的”。我看到 getStringExtra 的空值。所以数据没有传递给广播接收器。我究竟做错了什么?如何传递数据。

非常感谢

最佳答案

在将 Intent 传递给 PendingIntent 之前,您需要将额外内容添加到 Intent:

Intent broadcast_intent = new Intent(this, AlarmBroadcastReceiver.class);
broadcast_intent.putExtra("test", "ValueReceived"); //data to pass

PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, broadcast_intent, 0);

关于android - 向报警管理器广播接收器发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12470453/

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