点击网页上的按钮,判断如果本地已经安装了这个app就打开,如果没有安装就跳转到下载页面去下载
- 网页端要做的处理:
loadInstalledApplication = function(){
window.location.href = 'com.demo.app://';
window.setTimeout(function(){
if (owner.getPlatformName() == owner.IOS) {
window.location.href = "http://download.demo.app.com";
} else if (owner.getPlatformName() == owner.ANDROID) {
window.location.href = "http://download.demo.app.com";
}
},2000)
}
如果只是测试,可以用下边的代码替换上边的代码测试。
<a href="com.demo.app://">打开app</a>
- app端要做的处理:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:scheme="com.demo.app" />
</intent-filter>
注意: intent-filter的内容android.intent.action.MAIN和 android.intent.action.VIEW这2个不能同时放到同一个intent-filter中,否则可能会导致app图标找不到。
应该如下:
<activity
android:name="...activity.StartActivity"
android:configChanges="orientation|locale"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!--网页点击打开本地app-->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:scheme="com.demo.app" />
</intent-filter>
</activity>