小明子
小明子
  • 发布:2017-08-29 18:10
  • 更新:2019-08-27 17:46
  • 阅读:6175

三种唤起APP方式以及传参与获取参数问题

分类:HTML5+

方式一:
plus.runtime.launchApplication({
pname: "cn.com.sb.app.HuBank",
action:"io.dcloud.PandoraEntry",
extra: {

                            "url": "mbank://hubbank.com?num=100000&url=11111111111111111"  
                        }  
                    }, function(e) {  
                        plus.nativeUI.confirm("检查到您没安装葫芦APP,安装么?", function(i) {  
                            if (i.index == 0) {  
                                //androidMarket("com.tencent.mobileqq");  
                            }  
                        });  
                    });  

问题: 这种方式可以唤起APP,但是APP通过plus.runtime.arguments无法获取传递的参数,求回复

方式二:
var appUrl = 'mbank://hubank.com? name=wpa&num=100000&url=11111111111111111';
var mContext = plus.android.runtimeMainActivity();
var Uri = plus.android.importClass('android.net.Uri');
var Intent = plus.android.importClass('android.content.Intent')
var intent = new Intent(Intent.ACTION_VIEW, Uri.parse(appUrl));
mContext.startActivity(intent);

问题:这个方式唤起APP和传递参数都没问题,但是需要配置安卓的androidManifest.xml。目前唯一解决方案

方式三:

<a id="openurl" href="mbank://hubbank.com?param=1123" >葫芦银行 APP</a>

问题:这种方式无法唤起APP和传递参数,安卓的androidManifest.xml已经配置了。

安卓的androidManifest.xml配置如下:
<activity
android:name="io.dcloud.PandoraEntryActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:hardwareAccelerated="true"
android:label="HuBeiBank"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:theme="@style/DCloudTheme"
android:windowSoftInputMode="adjustResize" >
<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:scheme="mbank"
android:host="hubbank.com">
</data>
</intent-filter>
</activity>

2017-08-29 18:10 负责人:无 分享
已邀请:
363162301@qq.com

363162301@qq.com

请问,这个方式二,需要配置androidManifest.xml文件的哪里呢?

  • 363162301@qq.com

    另问,如果是云打包的,是不是无法实现唤起功能?

    2018-08-04 10:07

小明子

小明子 (作者)

用第二种方式把,妥妥的,配置一下URL SCHEMA就可以了

363162301@qq.com

363162301@qq.com

这个如果用云打包,可以实现吗?云打包的好像无法配置host

363162301@qq.com

363162301@qq.com

我试了云打包,打包之后查看其中的androidManifest.xml文件,里面就是没有host的值

zhaohuang132@qq.com

zhaohuang132@qq.com

使用云打包的方式,是不是无法完成指定页面的的跳转,只能实现APP的打开?在云打包里面有没有办法完整配置URLschemes

小明子

小明子 (作者)

云打包我没试过,都是离线打包的。离线打包的好处在于有的东西可以个性化配置,出问题好维护,不依赖官方

代码只会copy

代码只会copy

第二种方法,从应用A打开应用B后,应用A怎么接受应用B返回的数据?

来自太阳的米

来自太阳的米

原来还有这么多方法,不过我一直用的是openinstall 集成的

hggggg

hggggg

都是干货啊,我之前用了shareinstall,也能达到很好的效果~

要回复问题请先登录注册