应用程序从最近的应用程序列表

时间:2014-05-27 10:52:56

标签: android interface listener applicationcontext

我的查询是,我希望在应用程序进入销毁/关闭时使用警报管理器取消服务

如果我在活动中 A ,请点击按钮开始活动 B 突然用户将按主页按钮。 ----如果应用程序在后台运行,则不取消服务。但当他要从当时的应用程序列表中删除时取消服务。

即使用户通过按主屏幕在后台发送应用程序,服务/闹钟管理器也能正常工作。

应用程序无法关闭
1)单击后退按钮(如果堆栈有多个活动,则多次)。
2)按主页按钮,然后从最近列表中删除。

面临(2)第二个选项的问题。当用户按下主页按钮时,服务或报警管理器应该正常工作。但是when user will be going to remove application from recent list at that time i want to cancel service/alarm manager

我们可以识别哪些列表人员/方法?

2 个答案:

答案 0 :(得分:1)

每当我的服务要执行时,我现在正在检查isAppRunning(),如果它返回true,则执行Service否则取消服务,简单:)

public boolean isAppRunning(Context context)
        {
            boolean appFound = false;
            final ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
            final List<RunningTaskInfo> recentTasks = activityManager.getRunningTasks(Integer.MAX_VALUE);

            for (int i = 0; i < recentTasks.size(); i++)
            {
                if (recentTasks.get(i).baseActivity.getPackageName().equals("mypackagename"))
                {
                    appFound = true;
                    break;
                }
            }
            return appFound;
        }


添加权限

<uses-permission android:name="android.permission.GET_TASKS" />

所以每当从最近的列表中删除它。我会通过这种方法知道的。

答案 1 :(得分:-1)

在班级中添加onDestroy()

@Override
     protected void onDestroy() {
         super.onDestroy();
         //do your code here
     }