运行一下

android启动其他app权限 点击拒绝 android 启动另一个app_开发语言

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

② 数据传递


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

android启动其他app权限 点击拒绝 android 启动另一个app_开发语言_02

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

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

android启动其他app权限 点击拒绝 android 启动另一个app_android_03

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

然后运行一下:

android启动其他app权限 点击拒绝 android 启动另一个app_java_04

传值的问题就解决了。

③ 打开指定页面


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

android启动其他app权限 点击拒绝 android 启动另一个app_java_05

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

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

1.通过包名、类名

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

android启动其他app权限 点击拒绝 android 启动另一个app_java_06

android启动其他app权限 点击拒绝 android 启动另一个app_android_07

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

android:exported 属性,布尔类型,是否支持其他应用访问目标 Activity,默认值为 true;

android:exported=“true”

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

然后修改DemoA里面MainActivity的代码

android启动其他app权限 点击拒绝 android 启动另一个app_Android_08

运行效果

android启动其他app权限 点击拒绝 android 启动另一个app_IT_09

这样就可以了。

2.通过Action

修改DemoB的AndroidManifest.xml

android启动其他app权限 点击拒绝 android 启动另一个app_开发语言_10

总结

最后小编想说:不论以后选择什么方向发展,目前重要的是把Android方面的技术学好,毕竟其实对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!