AlarmManagerIntent 没有被调用

发布于 2024-10-21 14:33:01 字数 694 浏览 5 评论 0原文

我想使用 AlarmManager 调用 BroadcastReciever:

Context ctx=getApplicationContext();
Intent StartIntent = new Intent(ctx, tartReceiver.class);

AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC, StartTime.toMillis(false), PendingIntent.getActivity(ctx, 6,
                        StartIntent, PendingIntent.FLAG_CANCEL_CURRENT ));

接收器在清单中声明如下:

<receiver android:process=":remote" android:name=".StartReceiver" android:exported="true"/>

但什么也没有发生。如果我使用 ctx.sendBroadcast(StartIntent) ,则会调用意图,所以应该没问题,还是不行? 我还检查了 StartTime,应该没问题,我也尝试了 0 (这应该会导致根据文档立即调用 Intent)。

我必须改变什么才能让它工作?

I want to use the AlarmManager to call a BroadcastReciever:

Context ctx=getApplicationContext();
Intent StartIntent = new Intent(ctx, tartReceiver.class);

AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC, StartTime.toMillis(false), PendingIntent.getActivity(ctx, 6,
                        StartIntent, PendingIntent.FLAG_CANCEL_CURRENT ));

The receiver is declared in the manifest like this:

<receiver android:process=":remote" android:name=".StartReceiver" android:exported="true"/>

But nothing ever happens. If I use ctx.sendBroadcast(StartIntent), the intend gets called, so it should be all right, or not?
I also checked the StartTime, it should be ok and I tried also 0 (which should cause the Intent to be called immediately according to the documentation).

What must I change to get it working?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橘寄 2024-10-28 14:33:01

JonathanK,

您需要 PendingIntent.getBroadcast() 而不是 PendingIntent.getActivity()

JonathanK,

You want PendingIntent.getBroadcast() not PendingIntent.getActivity().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文