您的位置:首页 > 移动开发

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);  

    }  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: