在开发的过程中 有时候可能会需要进行应用之间的跳转 而跳转又分为显式意图和隐式意图

首先说一下显示意图和隐式意图的区别

  • 显式意图:明确指定组件名的Intent为显示意图,明确了Intent应该传递给那个组件。
  • 隐式意图:没有明确指定组件名的Intent为隐式意图。

显示意图多用于应用内到跳转 也就是我们平时用的跳转方式 而隐式意图多用于多用于应用间的跳转*
因为显示意图需要明确知道报名和类名才能进行跳转 而跳转其他第三方应用 很有可能不知道他的包名和类名 除非是合作应用或者进行了反编译

假如 在知道包名类名的情况下 需要跳转到第三方的应用 就可以使用显示意图跳转 下面是例子
假如我们要跳转到浏览器搜索页面 浏览器的包名是 com.android.browser
搜索页面的类名为com.android.browser.BrowserActivity
那么有两种方法可以实现
第一种:

           button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent();intent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");startActivity(intent);}});

第二种:

        button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent();ComponentName componentName=new ComponentName("com.android.browser", "com.android.browser.BrowserActivity");intent.setComponent(componentName);startActivity(intent);}});

如果在不知道指定的Activity界面类名的情况下就需要跳转到指定的界面 这里需要隐式调用 依然是使用上面的包名
可以这样写
通过action和category来进行跳转指定的界面(这两个参数在应用API文档里面有标注 或者 可以直接网上找)

        button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent();intent.setAction("android.intent.action.SEARCH");intent.addCategory("android.intent.category.DEFAULT");intent.setPackage("com.android.browser");}});

还有一种情况就是不需要跳转到指定的界面 只需要打开应用 而且 只知道包名 怎么办 别慌 这样来:

      button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = getPackageManager().getLaunchIntentForPackage("com.android.browser");startActivity(intent);}});

这里需要说明一下Intent的setClass和setClassName的区别
setClass:跳转到与该工程下的(同一个Application中的)activity或者service
setClassName:跳转到不同Applicaiton的activity或者service

Android 跳转到第三方应用(应用间的跳转)相关推荐

  1. android调试第三方应用,Android 跳转到第三方应用(应用间的跳转)

    博客原文内容 在开发的过程中 有时候可能会需要进行应用之间的跳转 而跳转又分为显式意图和隐式意图 首先说一下显示意图和隐式意图的区别 显式意图: 明确指定组件名的Intent为显示意图,明确了Inte ...

  2. android中的所有activity间动画跳转

    在之前的一篇博客里介绍过activity间动画跳转的问题,但是真正做软件发现并不能满足我们的要求,因为使用overridePendingTransition(int enterAnim, intexi ...

  3. Android学习--02(猜猜我的星座App源码+Android常用控件TextView+EditText+Button+ImangeView+DatePicker+App间通信+跳转页面)

    猜猜我的星座App 1 Android常用控件 1.1 TextView控件 1.1.1 简介 1.1.2属性 1.1.3 扩展属性 1.1.4 TextView的使用方法 1.1.5总结 1.2 E ...

  4. iOS应用跳转(包括iPhone原有应用跳转和第三方应用跳转)

    文章目录 iOS应用间跳转简介 应用间跳转应用场景 应用间跳转实现步骤 跳转到本地或第三方应用的一些URL Schemes iOS应用间跳转简介 在开发的过程中,我们经常会遇到需要从一个应用程序跳转到 ...

  5. Winform程序窗体间的跳转

    关于Winform程序窗体间的跳转问题: 对于编程新手来讲,winform程序窗体间的跳转,经常会出现一些异常,或是弹出重复的窗口,如下图 下面给出一种方法,可以很好的避免掉这样的问题: 首先,在主程 ...

  6. (0089)iOS开发之iOS应用间相互跳转(URL Scheme)

    需求:假设有应用A和应用B两个应用,现在需要从应用A跳转到应用B中.如果手机中没有安装跳到下载页,如果已经安装直接打开APP. 认识URL Scheme URL Schemes是苹果给出的用来跳转到系 ...

  7. 苹果iOS系统下检查第三方APP是否安装及跳转启动

    2019独角兽企业重金招聘Python工程师标准>>> 在iOS系统,使用Url Scheme框架在APP间互相跳转和传递数据,本文只介绍如果检测和跳转. Url Scheme框架 ...

  8. iOS应用间相互跳转

    使用第三方用户登录,跳转到需授权的App.如QQ登录,微信登录等. 需要用户授权,还需要"返回到调用的程序,同时返回授权的用户名.密码". 应用程序推广,跳转到另一个应用程序(本机 ...

  9. 不同视图间的跳转方式

    从一个视图控制器切换到另一个视图控制器的几种方式 1,模态(modal)画面的显示方法: 例如iphone通讯录管理程序中,追加新的通讯纪录时,就是使用这种模态画面 例:点击一个按钮,进入另一个界面 ...

最新文章

  1. 用Leangoo看板进行可视化的缺陷跟踪管理
  2. 7-29 修理牧场 (25 分)
  3. CSS选择器详解(一)常用选择器
  4. JVM之堆Heap体系概述
  5. 你的专业 VS 你妈口中你的专业
  6. html iframe post,使用Jquery和IFrame的跨子域请求(GET,POST,…)
  7. ubuntu 14.04 LTS(64bit) Anaconda2 + Theano(1.0.2) + Keras安装
  8. 什么是内容电商?核心是“内容”
  9. linux 设置多网段ip 地址,举例说明Linux不同网段访问的设置办法
  10. MTK6577 编译报错
  11. 【飞书集成自建应用教程】
  12. Taiyo Pacific Partners L.P.成为ZENKOKU HOSHO CO., Ltd.的主要股东,持股比例超过5%
  13. iOS开发-类似微信录音上滑取消功能
  14. Python|简易银行ATM程序制作
  15. Adb 抓不住Genymotion的解决方法
  16. 【C进阶】之结构体类型( struct)
  17. linux虚拟机重启后,telnet不通端口的排查思路
  18. 简单分析实现运维利器---web远程ssh终端录像回放libl
  19. web前端性能(一)
  20. 2010年下半年书单

热门文章

  1. 如何用Eclipse创建一个JavaSwing的项目
  2. Domino多瑙河EAP3以及Nomad Web 1.0.5
  3. win11系统下安装lighttools8.6无加密狗版的方法
  4. 2020汽车驾驶员(中级)证考试及汽车驾驶员(中级)操作证考试
  5. 【三】仿射变换、投影变换的矩阵形式和特点归纳
  6. 雅睿生物在创业板IPO终止:安信证券为保荐人,曾计划募资7.5亿元
  7. MySQL中的“DATE_SUB()” 函数从日期减去指定的时间间隔
  8. 中国56个民族拼音表
  9. 解压缩文件并将其中的excel文件汇总
  10. Hadoop-HDFS总结(五)