(转)Android开发——通过广播启动另一个应用的Activity
来源:互联网 发布:c语言源代码合集 编辑:程序博客网 时间:2024/06/09 19:09
原地址:http://www.cnblogs.com/keshuangjie/archive/2012/08/31/2665298.html
需求:现在有应用A和应用B,我需要在A应用中启动B应用中的某个Activity
实现:A应用中的Activity发送广播,关键代码如下:
String broadcastIntent = "com.example.android.notepad.NotesList";//自己自定义
Intent intent = new Intent(broadcastIntent);
this.sendBroadcast(intent);
B应用中需要一个BroadcastReceiver来接收广播,取名TestReceiver继承BroadcastReceiver重写onReceive方法启动一个activity,关键代码如下:
if(intent.getAction().equals("com.example.android.notepad.NotesList")){
Intent noteList = new Intent(context,NotesList.class);
noteList.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(noteList);
}
到这代码就完成了,当然在AndroidManifest.xml中要对TestReceiver进行注册,代码如下:
<receiver android:name="TestReceiver">
<intent-filter>
<action android:name="com.example.android.notepad.NotesList"/>
</intent-filter>
</receiver>
这样就完成了通过广播启动另一个应用Activity。
注意问题:Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用 Activity的startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的话,就需要开启一个新的task,解决办法是,加一个flag,也就是这句noteList.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);的作用。如果不添加这句,就会报android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity,Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
- (转)Android开发——通过广播启动另一个应用的Activity
- Android开发——通过广播启动另一个应用的Activity
- android--通过广播启动另一个应用的Activity
- 通过广播启动另一个应用的Activity
- android应用开发实践三----Atcity 通过Intent 来启动另一个Activity来实现简易拨号
- Android 通过广播启动Activity
- 【Android开发】启动另一个Activity
- Android中通过intent启动另一个应用
- Android开机自启动应用通过广播
- Android--启动另一个Activity
- Android在一个应用中启动另一个应用的Activity时失败的解决办法
- Android在一个应用中启动另一个应用的Activity的办法
- 【Android】在一个应用中启动另一个应用的Activity时失败的解决办法
- Android在一个应用中启动另一个应用的Activity时失败的解决办法
- Android 开发一个Activity 启动另一个Activity碰到的一个问题
- android一个应用的activity调用另一个应用的activity
- 安卓训练-开始-开发你的第一个应用-启动另一个 Activity
- 通过Intent的Component属性来启动另一个Activity
- 利用Python将excel表格转换为json文件
- 4-1拆分含有多种分隔符的字符串
- android studio报错:Gradle sync failed: Cause: error in opening zip file
- 转自橙虚缘Gearman——分布式任务分发框架
- 4-2判断字符串a是否以字符串b开头或结尾
- (转)Android开发——通过广播启动另一个应用的Activity
- 如何知道自己的stm32是什么型号?stm32系列的后缀是什么意思?第一次编程选择Keil选择什么型号?
- UCOSIII-任务就绪表
- javascript
- webstorm卡在scanning files to index
- 4-3调整字符串中的文本格式
- php内核学习(列出地址,以供自己学习)
- tensorflow学习(2):tensorflow中基本概念的理解
- 4-4将多个小字符串频拼接成一个字符串