ionic3先检测是否安装了app,没有就安装,有则打开

1.判断是Android还是ios
  if (this.platform.is('ios')) {
        this.scheme  =自己定义的';
    } else if (this.platform.is('android')) {
       this.scheme ='包名'; 
    }
2.装插件appAvailability 用于检测是否装上app
ionic cordova plugin add cordova-plugin-appavailability
npm install --save @ionic-native/app-availability
 this.appAvailability.check(this.scheme).then(value=>{
      debugger
      alert(value);
      //打开app
      this.openApp();
    },Error=>{
      alert("插件失败")
    }

  openApp(){
    var sApp = (<any>window).startApp.set({
      //  "action":"ACTION_MAIN",  
      //       "category":"CATEGORY_DEFAULT",  
      //       "type":"text/css",  
            "package":"包名",  
            "uri":"file://data/index.html",  
            "flags":["FLAG_ACTIVITY_CLEAR_TOP","FLAG_ACTIVITY_CLEAR_TASK"],  
            // "component": ["com.android.GoBallistic","com.android.GoBallistic.Activity"],  
            "intentstart":"startActivity",  
              }, { /* extras */  
                "EXTRA_STREAM":"extraValue1",  
                "extraKey2":"extraValue2"  
              });  
    
    sApp.start(function(){
      alert('返回成功');
    },function(Error){
      alert("返回失败");
    })
  }
3.如果是ios的时候
   要打开的app中info.polist中
<key>CFBundleURLTypes</key>
	<array>
	<dict>
	<key>CFBundleURLSchemes</key>
	<array>
	<string>自己定义的</string>
	<array>
		<key>CFBundleURLName</key>
	<string>包名</string>
	</dict>
	</array>
在当前app中info.polist中
<key>LSApplicationQueriesSchemes</key>  
      <array>  
          <string>自己定义的</string>  
      </array> 
使用时
window.location.href=this.scheme 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值