前言

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

运转作用图

Android 在一个APP里打开另一个APP

# 正文 为了测验这个功用,首先要创立两个项目,然后运转起来都装置在你的手机上,这里为了方便了解,取名就是使用A和使用B,流程就是A使用里边翻开B使用。

首先当然是创立项目了

DemoA

Android 在一个APP里打开另一个APP

DemoB

Android 在一个APP里打开另一个APP

创立好之后,其他先不论,都在手机上装置一下再说

Android 在一个APP里打开另一个APP

① 翻开另一个APP

接下来在DemoA的MainActivity里边写一个按钮,用于点击之后翻开DemoB使用

	<Button
        android:id="@+id/btn_open_b"
        android:text="翻开DemoB"
        android:textAllCaps="false"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

Android 在一个APP里打开另一个APP

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

<TextView
        android:textSize="18sp"
        android:textColor="#000"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="DemoB" />

运转一下

Android 在一个APP里打开另一个APP

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

② 数据传递

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

Android 在一个APP里打开另一个APP

然后在另一个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里打开另一个APP

一旦两个使用程序里边改动了代码你就要在手机上运转一下,否则你改动的代码就不会收效

然后运转一下:

Android 在一个APP里打开另一个APP

传值的问题就处理了。

③ 翻开指定页面

经过包名跳转APP是进入默认的发动页面,你可以翻开你的AndroidManifest.xml文件检查

Android 在一个APP里打开另一个APP

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

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

至于要翻开指定的页面有两个办法

1.经过包名、类名

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

Android 在一个APP里打开另一个APP

Android 在一个APP里打开另一个APP

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

android:exported 特点,布尔类型,是否支撑其他使用访问目标 Activity,默认值为 true;

android:exported="true"

否则你跳转会报错的,现在运转DemoB,使改动的代码收效 然后修正DemoA里边MainActivity的代码

Android 在一个APP里打开另一个APP

运转作用

Android 在一个APP里打开另一个APP

这样就可以了。

2.经过Action

修正DemoB的AndroidManifest.xml

Android 在一个APP里打开另一个APP

然后运转在手机上,再修正DemoA的MainActivity

Android 在一个APP里打开另一个APP

运转作用

Android 在一个APP里打开另一个APP

其实还有一种方式是经过URL翻开另一个APP,可是我不引荐这样做,为什么?没有原因…