android 打开其它app,Android 在一个APP里打开另一个APP

前言

不知道你们有没有注意过,每次打开一些软件的时候都会有广告引导页,有时候手滑点到了,会有进入手机上的另一个APP,这有没有引起你的注意呢?

运行效果图

4e243ab34fda5b3aa3577bb1754ac39b.gif

正文

为了测试这个功能,首先要创建两个项目,然后运行起来都安装在你的手机上,这里为了方便了解,取名就是应用A和应用B,流程就是A应用里面打开B应用。

首先当然是创建项目了

DemoA

4a77396c5abd46dff1a793abaf6c9d6c.png

DemoB

a35b746d5dd30af37f6b05f7ba15fe06.png

创建好之后,别的先不管,都在手机上安装一下再说

324749f4f692d3d0fb6aff230aeb43c9.png

① 打开另一个APP

接下来在DemoA的MainActivity里面写一个按钮,用于点击之后打开DemoB应用

android:id="@+id/btn_open_b"

android:text="打开DemoB"

android:textAllCaps="false"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

8b36445cf85282d8f0cdda3b100d7063.png

也在DemoB的布局文件改一下显示内容

android:textSize="18sp"

android:textColor="#000"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="DemoB" />

运行一下

e25db994b8690f08fdf40e1bfc707892.gif

这样就打开了。那假如我要传递数据到DemoB呢?

② 数据传递

传数据其实就跟平时单个APP内部不同页面传数据类似,也是用Intent

fa3f07cbb9b694a3d7e0f44592acc7e5.png

然后在另一个APP里面接收并显示出来。现在先修改一下DemoB的布局,增加一个TextView用来显示接收的内容。

android:id="@+id/tv_info"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="12dp"

android:textColor="#000"

android:textSize="16sp" />

DemoB的MainActivity里

1b04dd52de2e9d23db01aee5280e84ae.png

一旦两个应用程序里面改动了代码你就要在手机上运行一下,否则你改动的代码就不会生效

然后运行一下:

961c4fbc3e55900ac11a591d51cbdaea.gif

传值的问题就解决了。

③ 打开指定页面

通过包名跳转APP是进入默认的启动页面,你可以打开你的AndroidManifest.xml文件查看

fa451dfe61844bede7542a441b01cccd.png

那个Activity下面有这个默认启动就是那个

至于要打开指定的页面有两个方法

1.通过包名、类名

首先在DemoB的下面再创建一个TestActivity,简单加一个TextView

2def68a67d8d13e92a4626868fec273a.png

edced095cbfc2526a58d313cbf564dff.png

因为是要DemoB的TestActivity页面,所以这个activity在AndroidManifest.xml中需要配置

android:exported="true"

否则你跳转会报错的,现在运行DemoB,使改动的代码生效

然后修改DemoA里面MainActivity的代码

e037456452d17d68bc3188ec5d074eaa.png

运行效果

4e243ab34fda5b3aa3577bb1754ac39b.gif

这样就可以了。

2.通过Action

修改DemoB的AndroidManifest.xml

09b57738d1e33bb78c9feb3f9e56881c.png

然后运行在手机上,再修改DemoA的MainActivity

c83f85ec578955d809272608c1ec20bb.png

运行效果

4e243ab34fda5b3aa3577bb1754ac39b.gif

其实还有一种方式是通过URL打开另一个APP,但是我不推荐这样做,为什么?没有原因…

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值