当前位置:   article > 正文

H5App唤起其他应用(Android平台)_h5+app如何被其他应用打开

h5+app如何被其他应用打开

前期的一些设置直接用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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

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

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

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

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

接下来是判断被唤起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;
  }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

举例

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

应用调起

var openApp = function (url,callBack,packageName) { 
            errorCB=callBack
            identity=packageName
            plus.runtime.openURL( url, errorCB, identity ); 
        }
  • 1
  • 2
  • 3
  • 4
  • 5

举例

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/245600
推荐阅读
相关标签
  

闽ICP备14008679号