A. *_*gen 1 notifications android action delay
我的应用程序显示通知.我想补充的行动通过的addAction通知导致通知消失,重新出现后一个小时,但我不想打开活动对于这一点,最好的情况下,用户点击的动作,通知消失,然后在一小时后重新出现,就像通知的贪睡计时器一样.
有没有办法在没有开展活动的情况下做到这一点?
谢谢你的帮助
每个通知操作都来自PendingIntent.当然,您不希望发起活动而您不需要.
您的案例的最佳选择是创建您的PendingIntent:
public static PendingIntent getBroadcast (Context context, int requestCode, Intent intent, int flags)
Run Code Online (Sandbox Code Playgroud)
这样,每当用户点击通知时,它将在系统上生成广播.然后,您必须创建一个BroadcastReceiver,以接收此广播并使用AlarmManager安排另一个PendingIntent .第二个待处理的意图将是一个不同的广播,无论何时触发,您的BroadcastReceiver都可以接收并显示新的通知.
是否有意义?
**编辑:
只是为了澄清一个伪示例:
- 您的应用在Manifest中注册了BroadcastReceiver以接收'com.yourapp.mybroadcast'的广播
- 通知有一个com.yourapp.mybroadcast PendingIntent with extras boolean isSchedule = true和int time = 60(60分钟)
- 用户点击通知,此广播被触发,您的BroadcastReceiver会收到
onReceive(Context context, Intent intent)- 在你的onReceive中你读到isSchedule = true(意思是它必须创建一个新的时间表,时间= 60分钟.所以它使用AlarmManager创建一个新的Broadcast PendingIntent,isSchedule = false;在60分钟内被触发
- AlarmManager将在60分钟内再次呼叫您的BroadcastReceiver,但这次使用isSchedule = false,因此您的BroadcastReceiver知道再次显示通知的时间.
| 归档时间: |
|
| 查看次数: |
970 次 |
| 最近记录: |