Angular Ionic 4应用程序启动器启动最新的应用程序,而不是我的应用程序
我正在尝试在注册握手手势时启动自己的应用程序。 我正在使用cordova背景模式、cordova shake和cordova应用程序启动器 在后台方法中调用shake方法,在shake方法中调用app启动器 问题是该代码与另一个应用程序包id(即com.facebook.katana)完美配合 但是,当我解析我的应用程序包名时,它不起作用,而是手机启动任务列表中最新的应用程序 是否有其他人遇到此问题并解决了它,或者有人可以查看我的代码并告诉我是否有问题Angular Ionic 4应用程序启动器启动最新的应用程序,而不是我的应用程序,angular,cordova,ionic-framework,Angular,Cordova,Ionic Framework,我正在尝试在注册握手手势时启动自己的应用程序。 我正在使用cordova背景模式、cordova shake和cordova应用程序启动器 在后台方法中调用shake方法,在shake方法中调用app启动器 问题是该代码与另一个应用程序包id(即com.facebook.katana)完美配合 但是,当我解析我的应用程序包名时,它不起作用,而是手机启动任务列表中最新的应用程序 是否有其他人遇到此问题并解决了它,或者有人可以查看我的代码并告诉我是否有问题 startBackgroundMode()
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文件的构造函数方法中调用
编辑
所以我一直在玩这个应用程序,试图了解发生了什么。
如果我在后台关闭我的应用程序,然后打开另一个应用程序,如memo和我最小化该应用程序,然后晃动手机,则该应用程序打开,但如果我再次按下该应用程序上的后退按钮并再次晃动手机,则我的应用程序打开,我不明白为什么会这样做?您是否尝试过卸载该应用程序,然后重新安装?是的,几次您可以在其他设备/仿真器中尝试吗?或者甚至可以从config和check中更改应用程序id。我已经做了更多的测试,逻辑工作正常,但是如果你打开一个应用程序,例如备忘录、计算器或其他任何东西。然后你点击Back按钮,摇动手机将打开我的应用程序,但是如果你点击另一个应用程序上的home按钮,它会将你带到主页,然后摇动手机,则任务列表中的最后一个应用程序将打开