近来,碰到一个问题,需要在ionicAPP中打开第三方APP
然后,就找资料,发现了个比较好的解决方案
可以参考:https://blog.csdn.net/a727911438/article/details/80669065?utm_source=blogkpcl8
也可以参考下文
使用这个功能需要准备一些插件
ionic cordova plugin add cordova-plugin-appavailability npm install --save @ionic-native/app-availability ionic cordova plugin add cordova-plugin-inappbrowser npm install --save @ionic-native/in-app-browser
然后,还要在app.modules.ts中导入这两个包
import { InAppBrowser } from '@ionic-native/in-app-browser'; import { AppAvailability } from '@ionic-native/app-availability'; providers: [ InAppBrowser, //添加 AppAvailability, //添加 ]
在你需要使用的页面的对应的ts中
constructor( private iab: InAppBrowser, private appAvailability: AppAvailability, private platform: Platform, ) { } turnApp(){ var app = ''; if (this.platform.is('ios')) { app = 'mqq://'; /* QQ的Scheme URL */ } else if (this.platform.is('android')) { app = 'com.tencent.mobileqq'; /* QQ的安卓包名 */ } this.appAvailability.check(app) /* 检测QQ是否已安装 */ .then( (yes: boolean) => { this.iab.create('mqqwpa://im/chat?chat_type=wpa&uin=(你要打开的对应的QQ)', '_system'); /* 打开QQ */
/*若是想要打开其他APP,则使用this.iab.create('Scheme URL','_system')*/
}, (no: boolean) => { /* 未安装,提示处理 */ } ); }
/*这里是以打开指定某个QQ联系人的聊天框为例*/
在解决这个问题的时候,找到一些关于常见APP的Scheme URL和它们在安卓端的包名的资料
Scheme URL:https://www.jianshu.com/p/61bfdc79ddc9
android包名:https://www.jianshu.com/p/cfb7f212a5a2
转载请附上此链接,谢谢!