Android之Scheme:从一个APP进入另一个APP的制定页面

第一步

新建Android工程

第二步

打开AndroidManifest.xml,在activity下新建intent-filter标签
intent-filter标签底下增加
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.APP_BROWSER" />
<data
    android:host="test"
    android:path="/product"
    android:port="8000"
    android:scheme="openapp"
 />
第一行和第三行是必加配置,可以从其他APP跳转,第四行是用来实现从浏览器跳转的配置
data内的android:host(可选)表从外部启动的主机号
data内的android:path(可选)表从外部启动的传参路径
data内的android:port(可选)表从外部启动的端口号 除了80端口之外,其他任意数字皆可
data内的android:host(必填)表从外部启动的协议号(可自定义)

第三步

在主Activity的启动函数内增加以下代码,其中第四行用来获取从外部传入的参数。解析方式类似于http参数的解析
Intent intent = getIntent();
String action = intent.getAction();
if (Intent.ACTION_VIEW.equals(action)) {
    Uri uri = intent.getData();
}

第四步

从其他APP调用方式,填入被调用APP中配置的URL+需要传入的参数
Intent it = new Intent(Intent.ACTION_VIEW, Uri.parse("openapp://test:8000/product?param1=Test1&param2=param2"));
        startActivity(it);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 2017年5月17日 Kylin_Wu 标注(★☆)为考纲明确给出考点(必考) 常见手机系统(★☆) And...
    Azur_wxj阅读 5,801评论 0 10
  • 1、Handler: 1):系统Handler的创建过程及相关对象的创建:在ActivityThread的main...
    Steven_SHH阅读 4,430评论 0 5
  • 2.1 Activity 2.1.1 Activity的生命周期全面分析 典型情况下的生命周期:在用户参与的情况下...
    AndroidMaster阅读 8,254评论 0 8
  • 面试必背 会舍弃、总结概括——根据我这些年面试和看面试题搜集过来的知识点汇总而来 建议根据我的写的面试应对思路中的...
    luoyangzk阅读 11,815评论 6 173
  • 【Android Service】 Service 简介(★★★) 很多情况下,一些与用户很少需要产生交互的应用程...
    Rtia阅读 8,320评论 1 21