android 淘寶天貓支付寶瀏覽器開啟本地app傳遞引數開啟應用內頁
阿新 • • 發佈:2019-02-16
近期由於專案需要,通過瀏覽器開啟本地app應用。經過多方的查詢反覆的嘗試和閱讀。總結出來。有價值的知識的分享出來。雖說不是很難。
第一步:
寫好相關的js方便調取如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=1" name="viewport" />
<title >開啟本地app</title>
</head>
<body>
<div>測試</div>
<iframe src="open://app/goods?id=2456677&type=02" frameborder="0"></iframe>
</body>
</html>
把這個儲存存成html檔案放到伺服器外網能夠訪問就行。
第二步
開啟本地頁面的activity 裡面增加如下程式碼
<activity
android:name="com.simo.main"
android:launchMode="singleTask"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="app"
android:pathPrefix="/goods"
android:scheme="open" />
</intent-filter>
</activity>
其中android:host="app" android:pathPrefix="/goods" android:scheme="open" 這裡面的引數對應的是 js iframe 裡面的open://app/goods 要求對應起來。
等這些都寫好了就已經成功一大半了。
第三步:在需要你剛剛加入上面程式碼的activity 的onCreate 新增如下程式碼?
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
Intent i_getvalue = getIntent();
String action = i_getvalue.getAction();
if(Intent.ACTION_VIEW.equals(action)){
Uri uri = i_getvalue.getData();
if(uri != null){
String id = uri.getQueryParameter("id");
String type= uri.getQueryParameter("type");
System.out.println("id ===="+id )
System.out.println("type===="+type )
}
}
}
完成上述大功告成!哈哈哈!開啟應用的速度槓槓的。趕快用起來吧!
有不明白的歡迎留言!
我們一起共同進步!表示謝謝!如果有技術問題歡迎
加入我的QQ群 285526158.
喜歡的可以關注微信公眾號,哪裡每天都會推薦一篇開源專案Git專案地址在裡歡迎訂閱