android.app.ActivityManager.AppTask 访问静态类的非静态方法



我知道有人问过这个问题,但我似乎无法解决这个问题。我试图访问静态AppTask类非静态公共void方法finishAndRemoveTask。但是我在编译时收到了很多错误,没有成功。

import static android.app.ActivityManager.AppTask;
import static java.lang.System.out;
public class ExitMyApp {
public void exit() {
AppTask.finishAndRemoveTask();
}
}

如果我这样做,我得到错误non static method cannot be accessed in static way。这是可以理解的,因为finishAndRemoveTask是公共虚空,目前还不存在。所以我用实例:

finishAndRemoveTask finandremove = new AppTask.finishAndRemoveTask();

现在我得到一个错误cannot find symbol。有人能给我一个关于如何使用finishAndRemoveTask方法的线索吗?

finishAndRemoveTask()不是静态方法,所以没有实例就不能调用它,并且实例化它的方式是不正确的。您需要获取对AppTask的引用,如下所示:

ActivityManager manager =
(ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
PackageManager pm = getPackageManager();
for (AppTask task : manager.getAppTasks()) {
//if task is matching your task/activity
task.finishAndRemoveTask();
}

最新更新