gpt4 book ai didi

android - 可以在其他应用中接收AlarmManager

转载 作者:行者123 更新时间:2023-11-29 23:51:29 26 4
gpt4 key购买 nike

我想每十分钟运行一次任务,我使用了 AlarmManager,如下所示:

public static void startAlarmOnce(Context context, String action, long triggerAtMillis) {
Intent intent = new Intent(action);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context,0,intent,0);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, triggerAtMillis, pendingIntent);
}

但是,有一个问题:如果有人注册了一个 BroadcastReceiver 使用相同的操作,那么他就可以接收到广播。

那么,如何在我自己的应用程序中保留广播,就像 LocalBroadcast 一样?

最佳答案

使用explicit intent :

public static void startAlarmOnce(Context context, String action, long triggerAtMillis) {
Intent intent = new Intent(context, YourBroadcastReceiver.class);
intent.setAction(action);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context,0,intent,0);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, triggerAtMillis, pendingIntent);
}

YourBroadcastReceiver.class 应该是您实现为 BroadcastReceiver 的类的名称。

关于android - 可以在其他应用中接收AlarmManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50852818/

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