欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android如何通過scheme跳轉界面

 更新時間:2017年07月25日 16:12:17   作者:huagbo  
Android如何通過scheme跳轉界面,這篇文章就為大家介紹了Android通過scheme跳轉界面的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

Android通過scheme跳轉界面,應該如何實現(xiàn)?

需求

通過后臺返回鏈接地址

eg: app://com.bobo.package/path?param1=abc&param2=cde

跳轉到指定的Activity 并帶入?yún)?shù)

實現(xiàn)

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.實現(xiàn)跳轉

private void startActivity(Context context) {
    try {
      Uri uri = Uri.parse("app://com.bobo.package/path?param1=abc&param2=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中處理數(shù)據(jù)獲取參數(shù)

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 跳轉界面時 ,系統(tǒng)會提示選擇打開方式 因為沒有精確匹配要跳哪個界面

<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&param2=cde
application://host/route?param1=abc&param2=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>


以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論