android

点击网页上的按钮打开本地的app(1)

2017-11-03  本文已影响48人  emdd2016

点击网页上的按钮,判断如果本地已经安装了这个app就打开,如果没有安装就跳转到下载页面去下载

  1. 网页端要做的处理:
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>
  1. 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>
上一篇 下一篇

猜你喜欢

热点阅读