Android本地通知Cordova:等待cancelAll完成
Android Local Notification Cordova: Wait for cancelAll to finish
我有一个带有本地通知插件的Cordova应用程序。问题是cancelAll()
不会等到它完成,所以在我添加新消息时它仍在删除。
如何同步线程以使cancelAll()
等待?
一些相关代码AlarmHelper::cancelAll()
/**
* @see LocalNotification#cancelAllNotifications()
*/
public boolean cancelAll(SharedPreferences alarmSettings) {
final Map<String, ?> allAlarms = alarmSettings.getAll();
final Set<String> alarmIds = allAlarms.keySet();
for (String alarmId : alarmIds) {
Log.d(LocalNotification.PLUGIN_NAME, "Canceling notification with id: " + alarmId);
String alarmInt = alarmId;
cancelAlarm(alarmInt);
}
return true;
}
如何同步线程以使cancelAll()等待?
你不能。cancelAll()
是异步的。
问题是cancelAll()不会等到它完成,所以当我添加新消息时,它仍然在删除。
你为什么一开始就给cancelAll()
打电话?及时更新您的通知。
此外,请不要有多个通知,因为这被认为是一种糟糕的形式。对所有未处理的"消息"都有一个通知,当用户对这些"消息"采取行动时(例如,访问收件箱),该通知就会被清除。
相关文章:
- 单击按钮以等待单击按钮
- React组件等待所需道具进行渲染
- 正在等待呈现图表,直到加载数据为止
- 在等待ajax请求时显示微调器并禁用页面
- Javascript在for循环中等待处理请求
- JavaScript循环并等待函数
- 在等待异步任务时永久循环
- 在通过child.print()打印之前,我如何等待图像加载到我的新窗口中
- 失败:等待Protractor与页面同步时出错:“”;在窗口上找不到角度”;
- 等待300毫秒,然后使用jQuery向下滑动菜单
- 等待循环调用的所有承诺完成
- 等待回调函数执行
- RxJS等待承诺解决
- WIll window.addEventListener(“加载”,function(),false);等待浏览器自动填
- Casperjs等待资源
- draggableCursor没有't更改为等待光标
- 如何使请求等待上一个请求完成
- 更改css链接并等待加载新的css
- 让ng更改等待$watch完成
- Android本地通知Cordova:等待cancelAll完成