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

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

被唤起App配置

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


                
                

 
                
                
                
                
                
                
 

注意这两个 调用意图要分开,否则可能创建的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为自己的图片
H5App唤起其他应用(Android平台)_第1张图片
附上参考链接
Android平台本地(离线)打包指南 - Android Studio
Android平台设置UrlSchemes,实现被第三方应用调用
web-launch-app
HTML 5+ SDK 更新日志
官方例子

你可能感兴趣的:(LAYA)