相关疑难解决方法(0)

如何获取和取消PendingIntent?

我有一个alarmManager用于在特定时间向用户发送通知的内容.由于有多个警报,我有多个未决的意图,我正在创建并提供一个唯一的ID,但在某些情况下,我需要获取所有待处理的意图,然后取消它们,这样我就可以重置警报.我试过这样做,我似乎仍然无法做到这一点所以我有几个问题:

这是你如何正确获取和取消PendingIntent

Intent intent = new Intent(con, AppointmentNotificationReciever.class);
PendingIntent sender = PendingIntent.getBroadcast(con, id, intent,
        PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am = (AlarmManager) con.getSystemService(Context.ALARM_SERVICE);
am.cancel(sender);
Run Code Online (Sandbox Code Playgroud)

意图是否需要与原始待定意图(附加内容和所有内容)完全匹配?

PendingIntent标志是否需要与原始待定意图的标志相匹配?

android alarmmanager android-intent android-pendingintent

23
推荐指数
1
解决办法
2万
查看次数

中止/取消广播

我想要的是:我想成为第一个接收短信广播的人,如果短信只是我感兴趣的话我想取消广播,这样广播就不会到达任何其他应用程序/接收者(默认消息应用程序等) .我所知道的是:

  • SmsDisptacher.java使用可以取消/中止的orderedBroadcasts.

我不知道的是:

  • 如果orderedBrodcasts可以取消其他应用程序/接收器,即除了你自己.

我试图成为第一个接收广播的人:

  • intent-filter android:priority ="1000"

我已经尝试取消广播了:

  • AbortBroadcast();
  • broadcastReceiver.setResultCode(RESULT_CANCELED)
  • clearAbortBroadcast()

sms android broadcast

6
推荐指数
2
解决办法
1万
查看次数