首先抱歉我的英语不好。
我是Ionic的新手,我尝试在本地通知触发时将我的应用从背景传递到前台。我使用了Katzer API(https://github.com/katzer/cordova-plugin-local-notifications),我希望显示一个停止或推迟通知的视图(Skype样式的来电)。这个例子工作正常,但我需要一个方法或某些东西才能显示推迟屏幕,即使屏幕被锁定。
cordova.plugins.notification.local.on('trigger', function (notification) {
alert("triggered");
}
提前致谢。
答案 0 :(得分:1)
经过更深入的研究后,我设法做到了,所以我会自己回答并留在这里给任何需要它的人。
如果要在触发通知时在前台显示应用程序,则应修改AbstractTriggerReceiver.java
我在AbstractTriggerReceiver.java中添加了这个方法:
public void launchApp() {
Context context = getContextForApp();
String pkgName = context.getPackageName();
Intent intent = context
.getPackageManager()
.getLaunchIntentForPackage(pkgName);
intent.addFlags(
Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(intent);
}
因此,在TriggerReceiver.java中,您可以调用launchApp();在你的onTrigger()方法中。
答案 1 :(得分:0)
对此没有简单的解决方案,因为您需要主要在本机层中工作。
E.g。在Android中,您应该创建一个可见的活动over the default lock screen,在触发通知时显示该活动,并在点击按钮时启动Cordova活动。