android GET_任务权限已弃用

android GET_任务权限已弃用,android,android-intent,task,activity-manager,Android,Android Intent,Task,Activity Manager,我已经在我的应用程序中使用了GET_TASKS权限来获取以前的意图 private Intent getPreviousIntent(Intent newIntent) { final ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); final List<ActivityManager.RecentTaskInfo> recentTaskInfos =

我已经在我的应用程序中使用了GET_TASKS权限来获取以前的意图

private Intent getPreviousIntent(Intent newIntent) {
    final ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    final List<ActivityManager.RecentTaskInfo> recentTaskInfos = am.getRecentTasks(1024,0);
    String myPkgNm = getPackageName();

    if (!recentTaskInfos.isEmpty()) {
        ActivityManager.RecentTaskInfo recentTaskInfo;
        for (int i = 0; i < recentTaskInfos.size(); i++) {
            recentTaskInfo = recentTaskInfos.get(i);
            if (recentTaskInfo.baseIntent.getComponent().getPackageName().equals(myPkgNm)) {
                newIntent = recentTaskInfo.baseIntent;
                newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            }
        }
    }
    return newIntent;
}
private Intent getPreviousIntent(Intent newIntent){
最终ActivityManager am=(ActivityManager)getSystemService(Context.ACTIVITY_服务);
最终列表recentTaskInfos=am.getRecentTasks(1024,0);
字符串myPkgNm=getPackageName();
如果(!recentTaskInfos.isEmpty()){
ActivityManager.RecentTaskInfo RecentTaskInfo;
对于(int i=0;i

在api级别21中,添加了getAppTasks而不是getRecentTasks。这没关系,但问题是,如何才能获得低于api级别21的先前意图?请帮助我解决此问题?

您可以检查正在运行的设备上的API级别并用于较低的getAppTasks…检查API级别没有问题,但getAppTasks在低于API级别21的情况下无法工作。问题是我如何在不使用getRecentTasks的情况下获得之前的意图(例如android 4)?是的,但您可以执行if-else语句。如果您的项目目标API级别为21级,且最低级别为较低级别,您可以通过If/else检查设备具有哪个API,然后使用If/else中所需的方法……您需要一个示例吗?请再次阅读问题。如果你这样做了,请帮助我如何从我的应用程序中获得先前的意图?我不想使用不推荐的方法我正确地阅读了这个问题:)……但是如果你在低于目标的minSDK上开发,你必须使用不推荐的方法……这是唯一的方法。。。