首页 > 解决方案 > 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文件的构造方法中调用

编辑

所以我玩了这个应用程序来尝试了解正在发生的事情。发生的情况是,如果我在后台关闭我的应用程序,然后如果我打开另一个应用程序,即备忘录,我最小化那个应用程序,然后摇晃手机然后那个应用程序就会打开,但是如果我再次按下后退按钮在该应用程序上并再次摇动手机然后我的应用程序打开,我不明白它为什么这样做?

标签: angularcordovaionic-framework

解决方案


推荐阅读