关于activity启动顺序和参数设置的探讨?

面包你大爷 2012-05-26 12:04:02
我从A应用中调用Intent启动B应用,在B中经过一些操作后,如果还要继续能从B中启动A,需要怎么设置Intent的参数啊?
详细步骤如下:
此为A应用中调用B应用的代码,因为B应用是个桌面启动器程序(类似go桌面),所以直接设置的Intent.CATEGORY_HOME:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);


此为B中启动所有已安装应用的方法:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

B中可以启动除了A以外的所有应用,请大家告诉我是什么原因,或者告诉我要添加什么参数,求详细说明?
...全文
186 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Marco_Lee 2012-05-26
  • 打赏
  • 举报
回复
如果想从B直接启动A,假设你的A应用包名是com.google.a; A的入口Activity是MainActivity

PackageManager pm = getPackageManager();
List<ResolveInfo> list = pm.queryIntentActivities(new Intent(Intent.ACTION_MAIN), 0);
for(ResolveInfo r : list) {
String packageName = r.activityInfo.packageName;
String className = r.activityInfo.name;
if(className.equals("com.google.a.MainActivity")) {
Intent i = new Intent();
i.setClassName(packageName, className);
startActivity(i);
}
}
Marco_Lee 2012-05-26
  • 打赏
  • 举报
回复

Intent intent = new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(intent);

80,493

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧