public void moveTaskToFront(int taskId, int flags) {

try {
ActivityManagerNative.getDefault().moveTaskToFront(taskId, flags);
} catch (RemoteException e) {
// System dead, we will be dead too soon!

}


 //获取ActivityManager

        ActivityManager mAm = (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE);

        //获得当前运行的task

        List taskList = mAm.getRunningTasks(100);

        for (ActivityManager.RunningTaskInfo rti : taskList) {

            //找到当前应用的task,并启动task的栈顶activity,达到程序切换到前台

            if(rti.topActivity.getPackageName().equals(context.getPackageName())) {

                mAm.moveTaskToFront(rti.id,0);

                return;

            }

        }

        //若没有找到运行的task,用户结束了task或被系统释放,则重新启动mainactivity

        Intent resultIntent = new Intent(context, MainActivity.class);

        resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_SINGLE_TOP);

        context.startActivity(resultIntent);

 


更多相关文章

  1. Android(安卓)实现Activity后台运行
  2. [Android]动态替换Fragment全屏的问题
  3. android之检查service运行状态函数
  4. 【Android学习三】相关指令操作
  5. android 获取当前系统的语言
  6. 获取android正在运行的所有app进程
  7. android ViewParent requestDisallowInterceptTouchEvent 测试
  8. Android(安卓)Studio 之 启动和停止服务
  9. 关于android内存管理的原理,及相关自动内存管理软件原理

随机推荐

  1. Android开发之鬼迷心窍(二)
  2. Android的反编译和代码混淆
  3. 【Android 周末回眸】2010.11.13-11.20
  4. 在Android上实现HttpServer的示例代码
  5. 在Android中使用AspectJX框架遇到的配置
  6. android内所使用的资源类型
  7. [原]如何用Android NDK编译FFmpeg
  8. 传感器使用简介
  9. Android开发项目--跑腿APP-跑儿
  10. 《Android超级用户工具箱箱》--更改andro