H5App唤起其他应用(Android平台)

前期的一些设置直接用HbuildX进行,参考的链接
Android 平台 HTML5+ SDK的集成(HBuilder离线打包)
里面写的很详细,感谢作者,一步步按照配置来就可以了

被唤起App配置

在AndroidStudio里在AndroidManifest.xml配置信息进行添加

<intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
 <intent-filter>
                <action android:name="android.intent.action.VIEW"></action>
                <category android:name="android.intent.category.DEFAULT"></category>
                <category android:name="android.intent.category.BROWSABLE"></category>
                <data
                    android:host="host"
                    android:path="/path"
                    android:scheme="scheme">
                </data>
                <!--&lt;!&ndash;<a href="[scheme]://[host]/[path]?[query]">启动应用程序</a>&ndash;&gt;-->
 </intent-filter>

注意这两个 调用意图要分开,否则可能创建的app不显示应用图标,其中scheme必须要有。
被唤起的时候可以在path后面加一下自定义的参数,这些参数可以自用,下面有例子

LayaAir里面加调起代码(我用的腊鸭开发)

在index.html里面添加 ,这里在Android上面监听到plusready 后 设置手机常亮,这也是njs插件常用的方法

 document.addEventListener("plusready", function () {
            plus.device.setWakelock(true);
        }, false);

接下来是判断被唤起app是否被安装

var getIntentByPackageName = function (pkgname) {
    plus.android.importClass('android.content.pm.PackageManager');
    var MainActivity = plus.android.runtimeMainActivity();
    var PackageManager = MainActivity.getPackageManager();
    return plus.android.invoke(PackageManager, 'getLaunchIntentForPackage', pkgname);
 }
 var isInstalledApp = function (pkgname) {
    return getIntentByPackageName(pkgname) != null;
  }

举例

let exit = Laya.Browser.window.isInstalledApp("com.xxxxx.xxxxx")//true代表安装了应用
alert("exit=" + exit);

应用调起

var openApp = function (url,callBack,packageName) { 
            errorCB=callBack
            identity=packageName
            plus.runtime.openURL( url, errorCB, identity ); 
        }

举例

Laya.Browser.window.openApp("scheme://host/path?name=zidingyicanshu1&zidingyicanshu2=26", () => {
                            alert("哈哈哈哈,调起失败");
                        }, "com.xxxxx.xxxxx")
                        }//?后面可以加自定义参数

HBuilder 去掉启动时候的app名字和灰色界面------设置好应用的splash为自己的图片
在这里插入图片描述
附上参考链接
Android平台本地(离线)打包指南 - Android Studio
Android平台设置UrlSchemes,实现被第三方应用调用
web-launch-app
HTML 5+ SDK 更新日志
官方例子

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值