概述
我們的項目通常會有一個m版,即從手機瀏覽器查看網站看到的,我們更希望用戶從m版跳到我們的app觀看操作。這時候,我們會在右下角添加一個,跳轉app的按鈕。
實現
功能的實現,要求負責h5的同學在m版的h5界面添加一個a標籤跳轉用。
類似於這種格式即可。
<a href="[scheme]://[host]/[path]?[query]">啓動應用程序</a>
比如:<a href="myapp://360.app/main?id=1">啓動應用程序</a>
scheme:判別啓動的App,不可跟其他app重複。
host: 適當記述
path: 用來區分哪個界面。
query:傳值
app中配置:
首先在AndroidManifest.xml的自己需要跳轉的activity下追加以下內容。
<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:scheme="myapp" android:host="360.app" android:pathPrefix="/main"/>
</intent-filter>
host之前不需要加:// ,pathPrefix的/ 不能省略。
intent-filter 啓動的,和這個不能混淆,還要追加。
傳值處理
如果我們需要跳轉時候傳值(跳到app內頁需要攜帶參數,如果是跳到首頁則不需要)
接下來在Activity中需要取值的地方添加以下代碼,我是直接寫在OnCreate函數裏的:
Intent intent= getIntent();
String action = intent.getAction();
if(Intent.ACTION_VIEW.equals(action)){
Uri uri = intent.getData();
if(uri != null){
String name = uri.getQueryParameter("name");
String age= uri.getQueryParameter("age");
}
}
這樣就能獲取到URL傳遞過來的值了。