有時候運營作活動,會給用戶送一些東西,用戶一領取就會跳到客戶端的某個頁面,下面記錄一下實現過程。
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