我可以在Android上使用AlarmManager和LocalBroadcastManager吗?

Bar*_*cha 11 android alarmmanager localbroadcastmanager

我有这个代码:

private AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
private PendingIntent alarmIntent = PendingIntent.getBroadcast(this, 0, new Intent("my action-name"), 0);

alarmManager.setInexactRepeating((int)AlarmManager.ELAPSED_REALTIME_WAKEUP,     SystemClock.elapsedRealtime() + autoUpdateIntervalInMinutes * 60 * 1000,  autoUpdateIntervalInMinutes * 60 * 1000, alarmIntent);
Run Code Online (Sandbox Code Playgroud)

但是我想为LocalBroadcastManager更改它.这可能吗?

Com*_*are 11

不,这是不可能的,因为LocalBroadcastManager仅适用于您自己的流程,并且AlarmManager后端运行在不同的流程中.这就是为什么没有办法创造一个PendingIntent适用的原因LocalBroadcastManager.

  • 有没有办法让意图更加私密,以便其他应用程序无法使用它? (2认同)
  • 简而言之,没有.但是,任何其他希望收听广播的应用都需要知道完整的操作字符串.这至少通过默默无闻(这不是真正的安全性)给你一些安全性. (2认同)