如何在 B 应用中调用 A 应用中的 Activity
2012-02-29 11:28
155 查看
1. 事件起源
本文源于官方文档中的一句话:
那么, 我们就想在一个应用中, 实例化另一个应用中的 Activity.
2. 事件解决
现在假设在 A 应用中有一个 Activity1, 然后, 我们在 B 应用中实例化 A 应用中的 Activity1.
有两种方法解决:
方法1: 在 B 应用中使用显示意图来启动 A 应用中的 Activity1
B 应用中的启动代码如下:
A 应用中的配置代码如下:
这样, 就可以在 B 应用中通过显示意图来启动 A 应用中的 Activity 了.
注意: 这里一定要为 Activity1 添加一个 <intent-filter>, 并任意指定一个 <action>, 尽管该 <action> 用不上, 否则其他应用是无法访问到 Activity1. 而会报一个权限的错误.
方法2: 在应用 B 中通过隐式意图来启动 A 应用中的 Activity1
B 应用中的启动代码如下:
A 应用中的配置代码如下:
此时, 配置中一定要加上
这句代码, 以与隐式意图相匹配.
最开始的时候, 就是因为把类别类型给写错了(复制过来的,忘记修改了), 所以老是报错. 现在这样就OK了. 把它给记录下来, 留着备用.
本文源于官方文档中的一句话:
Activities can be instantiated multiple times, even from other tasks.
那么, 我们就想在一个应用中, 实例化另一个应用中的 Activity.
2. 事件解决
现在假设在 A 应用中有一个 Activity1, 然后, 我们在 B 应用中实例化 A 应用中的 Activity1.
有两种方法解决:
方法1: 在 B 应用中使用显示意图来启动 A 应用中的 Activity1
B 应用中的启动代码如下:
Intent intent = new Intent(); intent.setClassName("powerise.modes.standards", "powerise.modes.standards.Activity1"); startActivity(intent);
A 应用中的配置代码如下:
<activity android:name=".Activity1" android:label="Activity1"> <intent-filter> <action android:name="powerise.intent.action.test" /> </intent-filter> </activity>
这样, 就可以在 B 应用中通过显示意图来启动 A 应用中的 Activity 了.
注意: 这里一定要为 Activity1 添加一个 <intent-filter>, 并任意指定一个 <action>, 尽管该 <action> 用不上, 否则其他应用是无法访问到 Activity1. 而会报一个权限的错误.
方法2: 在应用 B 中通过隐式意图来启动 A 应用中的 Activity1
B 应用中的启动代码如下:
Intent intent = new Intent(); intent.setAction("powerise.intent.action.test"); startActivity(intent);
A 应用中的配置代码如下:
<activity android:name=".Activity1" android:label="Activity1"> <intent-filter> <action android:name="powerise.intent.action.test" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
此时, 配置中一定要加上
<category android:name="android.intent.category.DEFAULT" />
这句代码, 以与隐式意图相匹配.
最开始的时候, 就是因为把类别类型给写错了(复制过来的,忘记修改了), 所以老是报错. 现在这样就OK了. 把它给记录下来, 留着备用.
相关文章推荐
- Android深入浅出系列之实例应用—如何在一个Activity里调用另外一个Activity?
- 如何实现当一个应用调用另一个应用的某个activity的时候,让这个activity类似dialog的效果,但是这个应用单独运行的时候还是铺满屏幕的效果
- Android深入浅出系列之实例应用—如何在一个Activity里调用另外一个Activity?
- 如何安全退出已调用多个Activity的应用
- Android深入浅出系列之实例应用—如何在一个Activity里调用另外一个Activity?
- Android深入浅出系列之实例应用—如何在一个Activity里调用另外一个Activity?
- Android应用中如何调用其他应用的Activity
- Android深入浅出系列之实例应用—如何在一个Activity里调用另外一个Activity?
- 如何配置自己的Activity,让其他应用调用
- android中按电源键锁屏然后解锁导致Activity调用onDestory以及如何防止锁屏 翻转屏幕也会触发的情况
- 在Android 2.3中如何使用native_activity.h编写本地应用
- 如何防止使用singleInstance的activity返回时拉起其他应用的问题
- 在当前应用的Activity 中如何对正在播放的music 进行控制
- Android应用中如何调用系统闹钟及日历
- 如何安全退出已调用多个Activity的Application?
- 如何实现一个只有广播和service的android应用没有activity
- 如何安全退出已调用多个Activity的Application?
- android:两个应用之间如何传值之activity
- Android如何获得当前应用显示的Activity
- 如何退出Activity?如何安全退出已调用多个Activity的Application?