Android如何通过scheme跳转界面

 更新时间:2017年07月25日 16:12:17   作者:huagbo  
Android如何通过scheme跳转界面,这篇文章就为大家介绍了Android通过scheme跳转界面的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

Android通过scheme跳转界面,应该如何实现?

需求

通过后台返回链接地址

eg: app://com.bobo.package/path?param1=abc&param2=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&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中处理数据获取参数

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&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>


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Android 中为什么要用Fragment.setArguments(Bundle bundle)来传递参数

    Android 中为什么要用Fragment.setArguments(Bundle bundle)来传递参数

    这篇文章主要介绍了Android 中为什么要用Fragment.setArguments(Bundle bundle)来传递参数,非常不错,具有参考借鉴价值,需要的朋友参考下
    2017-01-01
  • Android AOP框架AspectJ使用详解

    Android AOP框架AspectJ使用详解

    本篇文章主要介绍了Android AOP框架AspectJ使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Android实现倒计时结束后跳转页面功能

    Android实现倒计时结束后跳转页面功能

    最近在工作中遇到一个需求,需要在倒计时一段时间后进行跳转页面,通过查找相关资料发现其中涉及的知识还不少,所以分享出来,下面这篇文章主要给大家介绍了关于Android实现倒计时结束后跳转页面功能的相关资料,需要的朋友可以参考下。
    2017-11-11
  • Android中利用viewflipper动画切换屏幕效果

    Android中利用viewflipper动画切换屏幕效果

    这篇文章主要介绍了Android中利用viewflipper动画切换屏幕效果的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • Android下如何使用百度地图sdk

    Android下如何使用百度地图sdk

    百度地图 Android SDK是一套基于Android 2.1(v1.3.5及以前版本支持android 1.5以上系统)及以上版本设备的应用程序接口
    2013-07-07
  • android从系统图库中取图片的实例代码

    android从系统图库中取图片的实例代码

    这篇文章主要介绍了android从系统图库中取图片的方法,涉及Android读取及选择图片等相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 如何更改Dialog的标题与按钮颜色详解

    如何更改Dialog的标题与按钮颜色详解

    这篇文章主要给大家介绍了关于如何更改Dialog的标题与按钮颜色的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面跟着小编来一起学习学习吧。
    2017-08-08
  • android 软键盘的POPUP布局的问题解决

    android 软键盘的POPUP布局的问题解决

    这篇文章主要介绍了android 软键盘的POPUP布局的问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • 详解Android的四大应用程序组件

    详解Android的四大应用程序组件

    这篇文章主要介绍了Android的应用程序组件的相关资料,帮助大家更好的理解和使用Android,感兴趣的朋友可以了解下
    2021-01-01
  • 通过WIFI(不用数据线)连接Android手机调试

    通过WIFI(不用数据线)连接Android手机调试

    本文主要介绍WIFI 链接手机调试,这里详细介绍了WIFI 链接Android手机实现调试的过程,有需要的小伙伴可以参考下
    2016-08-08

最新评论