Android app 运行时按了Home键,进入到另一程序,再调用原来程序
2016-02-18 13:07
483 查看
Android app 运行时按了Home键,进入到另一程序,此程序中再调用原来程序,回到原来页面的方法:
[java] view
plain copy
ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
ComponentName appTopActivity = null;
List<RunningTaskInfo> infos = manager.getRunningTasks(100);//获取当前正在运行的应用列表
for (RunningTaskInfo info : infos) {
System.out.println("topActivity:" + info.topActivity.getPackageName() + " baseActivity:" + info.baseActivity.getPackageName());
//判断原app是否还在运行
if (info.topActivity.getPackageName().equals(appName)
&& info.baseActivity.getPackageName().equals(appName)) {
appTopActivity = info.topActivity;
}
}
if(appTopActivity != null){
Intent in = new Intent();
in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //在receiver或者service里新建activity都要添加这个属性,
in.setComponent(appTopActivity);
//使用addFlags,而不是setFlags
in.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //清除掉Task栈需要显示Activity之上的其他activity
in.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); //加上这个才不会新建立一个Activity,而是显示旧的
context.startActivity(in);
}
[java] view
plain copy
ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
ComponentName appTopActivity = null;
List<RunningTaskInfo> infos = manager.getRunningTasks(100);//获取当前正在运行的应用列表
for (RunningTaskInfo info : infos) {
System.out.println("topActivity:" + info.topActivity.getPackageName() + " baseActivity:" + info.baseActivity.getPackageName());
//判断原app是否还在运行
if (info.topActivity.getPackageName().equals(appName)
&& info.baseActivity.getPackageName().equals(appName)) {
appTopActivity = info.topActivity;
}
}
if(appTopActivity != null){
Intent in = new Intent();
in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //在receiver或者service里新建activity都要添加这个属性,
in.setComponent(appTopActivity);
//使用addFlags,而不是setFlags
in.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //清除掉Task栈需要显示Activity之上的其他activity
in.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); //加上这个才不会新建立一个Activity,而是显示旧的
context.startActivity(in);
}
相关文章推荐
- Android安卓开发中终止线程方法
- Android学习必备--java工具15个
- Android 源码编译经验分享, 以及如何使用Android studio 阅读整个源码
- Android 抖动效果
- 用Pull解析将xml转换成List<Object>对象
- iOS NSPredicate 模糊、精确、查询
- iOS应用程序发布AppStore及更新流程
- Android Canvas绘图详解(图文)
- iOS 图片扫描(Moodstocks)
- #android#android studio 使用cardview
- Android获取view在屏幕中的位置
- [iOS]The app icon set named "AppIcon" did not have any applicable content
- 安卓 ImageView ACTION_UP&DOWN监听
- Android编程之LayoutInflater的inflate方法详解
- android学习参考资料
- android指定数据库的路径
- Objective-C中的const extern static用法
- Android DNK开发错误记录
- iOS App集成Apple Pay教程(附示例代码)
- android-Drawable