從外部網頁調起Android原生頁面

有時候運營作活動,會給用戶送一些東西,用戶一領取就會跳到客戶端的某個頁面,下面記錄一下實現過程。
1.Android端實現:
這裏用到scheme協議,相似http協議。在Manifest文件裏面,找到指定的activity,添加intent-filter,設置data的scheme,host,path等。這些參數的做用是設置這個頁面的外部路徑,格式爲:scheme://host:port/path?qureyParameter=queryString。html

<activity
            android:name=".ui.activity.NoticeCenterActivity"
            android:launchMode="singleTop"
            android:screenOrientation="portrait"
            android:theme="@style/secondActivityTheme">
            <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="app"
                    android:host="android"
                    android:path="/test"
                    />
            </intent-filter>
        </activity>

配置好了以後,這個頁面在網頁中的路徑,就對應爲app://android/test。PS:不必定是全路徑,若是隻設置了前面的路徑,匹配成功的話,也會跳轉
這裏面要注意的地方有,路徑不要以數字開頭,<intent-filter>須要添加action等標籤。
而後能夠在改Activity裏面,經過intent獲取傳參。android

Uri uri=getIntent().getData();
uri.getQueryParameter("id");

2.網頁裏面調起Android原生頁面:
給按鈕添加連接地址,就能夠打開指定的APP頁面了,固然前提是用戶手機安裝了APP。瀏覽器

<!DOCTYPE html>  
<html>  
<head>
<title>從外部網頁調起Android原生頁面</title>
</head>
<body>

<!--scheme://host:port/path?qureyParameter=queryString-->
<a href="app://android/test?id=1">Test</a>

</body>  
</html>

參考連接:http://www.jianshu.com/p/1cd02fe1810f
http://www.jianshu.com/p/7b09cbac1df4app

相關文章
相關標籤/搜索