国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android如何通過scheme跳轉界面

2019-12-12 02:23:51
字體:
來源:轉載
供稿:網友

Android通過scheme跳轉界面,應該如何實現?

需求

通過后臺返回鏈接地址

eg: app://com.bobo.package/path?param1=abc¶m2=cde

跳轉到指定的Activity 并帶入參數

實現

1.在manifest中配置Activity

<activity android:name=".ActivityName">   <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="app"         android:host="com.bobo.package"         android:path="/path"/>   </intent-filter></activity>

2.實現跳轉

private void startActivity(Context context) {    try {      Uri uri = Uri.parse("app://com.bobo.package/path?param1=abc¶m2=cde");      Intent intent = new Intent();      intent.setAction(Intent.ACTION_VIEW);      intent.setData(uri);      PackageManager packageManager=getPackageManager();      ComponentName componentName=intent.resolveActivity(packageManager);      if (componentName!=null){        context.startActivity(intent);      }    } catch (Exception e) {      e.printStackTrace();    }  }

3.Activity中處理數據獲取參數

private void dealScheme() {    Intent intent = getIntent();    String action = intent.getAction();    Uri uri=null;    if (Intent.ACTION_VIEW.equals(action)) {      Uri uri= intent.getData();    }    if(uri==null)      return;    String param1=url.getQueryParameter("param1");    String param2=url.getQueryParameter("param2");    // doSomething(param1,param2);}

填坑

1.如下兩個Activity 當通過scheme 跳轉界面時 ,系統會提示選擇打開方式 因為沒有精確匹配要跳哪個界面

<activity android:name=".ActivityAAAAAA">   <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="app"/*沒有配置host 和path*/        />   </intent-filter></activity><activity android:name=".ActivityBBBBBB">   <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="app"         android:host="com.bobo.package"        />   </intent-filter></activity>

2.如果不同的鏈接都要跳到一個Activity

eg: app://com.bobo.package/path?param1=abc¶m2=cde
application://host/route?param1=abc¶m2=cde

Activity配置

<activity android:name=".ActivityName">   <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="app"        android:host="com.bobo.package"        android:path="/path"/>     <data android:scheme="application"       android:host="host"       android:path="/route"/>   </intent-filter></activity>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳信县| 乌兰浩特市| 宝应县| 天峨县| 彝良县| 瓦房店市| 钟山县| 镇江市| 肃南| 夹江县| 政和县| 囊谦县| 九台市| 桓台县| 五华县| 永川市| 丰台区| 宁波市| 普兰店市| 武川县| 龙门县| 沂水县| 临泉县| 汉中市| 丹巴县| 龙游县| 天祝| 托克托县| 平凉市| 凤阳县| 龙口市| 莫力| 夹江县| 华亭县| 岑溪市| 呈贡县| 博客| 灵璧县| 河津市| 临颍县| 新建县|