angular - Ionic 4 App 启动器启动最新的应用程序而不是我的应用程序
问题描述
我正在尝试在注册摇动手势时启动我自己的应用程序。我正在使用cordova background-mode 和cordova-shake 和cordova 应用程序启动器。
在后台方法中调用shake 方法,在shake 方法中调用应用程序启动器。
问题是代码与另一个应用程序包 ID 完美配合,即 com.facebook.katana。
但是,当我解析我的应用程序包名称时,它不起作用,而是手机启动任务列表中最新的应用程序。
有没有其他人遇到过这个问题并解决了它,或者有人可以看看我的代码并告诉我是否有问题。
startBackgroundMode(){
this.backgroundMode.enable();
this.backgroundMode.overrideBackButton();
this.backgroundMode.on('activate').subscribe(value => {
this.backgroundMode.disableWebViewOptimizations();
this.platform.resume;
this.shakePhone();
});
}
shakePhone(){
this.shake.startWatch().subscribe(() => {
console.log(`watching...`);
//this.backgroundMode.moveToForeground();
this.openApp();
});
}
openApp(){
const options: AppLauncherOptions = {
}
options.packageName = 'my apps package name that I got from the config.xml'
this.appLauncher.canLaunch(options).then((launch)=>{
if(launch){
this.appLauncher.launch(options).then((launcher)=>{
console.dir(launcher);
}),(err)=>{
console.log(JSON.stringify(err));
};
}
else{
console.log("can't open app!");
}
}).catch((e)=>{
console.log(e);
});
}
而后台模式在app.component.ts文件的构造方法中调用
编辑
所以我玩了这个应用程序来尝试了解正在发生的事情。发生的情况是,如果我在后台关闭我的应用程序,然后如果我打开另一个应用程序,即备忘录,我最小化那个应用程序,然后摇晃手机然后那个应用程序就会打开,但是如果我再次按下后退按钮在该应用程序上并再次摇动手机然后我的应用程序打开,我不明白它为什么这样做?
解决方案
推荐阅读
- python - 我如何计算每小时的值并将上一小时和下一小时显示到数据框中具有最高值的那一小时?
- lotus-notes - IBM Domino - names.nsf 中的 ($Rooms) 视图在 R&R 数据库中不是最新的
- html - 当 div 具有动态高度内容时,如何将 div 粘贴在其他粘性 div 下方?
- c# - 如何在C#中将字符串中的某个数字倍数
- javascript - jQuery ajax not displaying data from php to a table with angularjs and json
- javascript - 如何在 antd 复选框组中单独更新复选框
- android - 尝试使用我的自定义布局时发现意外的命名空间前缀“app”
- python - 极地图:颜色困难
- javascript - 为另一个 Firestore 实例中的用户在 Firestore 中创建自定义令牌
- sql - SQL Server 合并一些列