方式一(android使用):
function openAgj() {
var mainActivity= plus.android.runtimeMainActivity();
Intent = plus.android.importClass('android.content.Intent');
var intent = new Intent(); intent.setClassName('你的包名','io.dcloud.PandoraEntry');//io.dcloud.PandoraEntry是启动类 在线打包的默认这个
intent.putExtra("参数名1", 参数值1);
intent.putExtra("参数名2", 参数值2);
mainActivity.startActivity(intent);//打开activity
}
问题: 这种方式可以唤起APP,也能通过plus.runtime.arguments传递的参数
Hbuilder接收参数方式:
JSON.parse(plus.runtime.arguments).参数名1
JSON.parse(plus.runtime.arguments).参数名2
方式二(android,ios都可以用):
http://ask.dcloud.net.cn/article/434 参考官方内容
openURL
调用第三方程序打开指定的URL
void plus.runtime.openURL( url, errorCB, identity );
参数:
url: ( String ) 必选 要打开的URL地址
字符串类型,各平台支持的地址类型存在差异,参考平台URL支持表。
errorCB: ( OpenErrorCallback ) 可选 打开URL地址失败的回调
打开指定URL地址失败时回调,并返回失败信息。
identity: ( String ) 可选 指定打开URL地址的程序名称
在iOS平台此参数被忽略,在Android平台为程序包名,如果指定的包名不存在,则打开URL地址失败。
返回值:
void : 无
平台支持:
Android - 2.2+ (支持): 支持
iOS - 4.3+ (支持): 支持,不支持identity参数
方式三:
<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>
0 个回复