首页 > 解决方案 > 无法从 Android 11 设备中的服务启动活动

问题描述

当我尝试仅从 android 11 设备中的服务启动活动时遇到此问题:

    Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.android.server.wm.ActivityRecord.isVisible()' on a null object reference
        at android.os.Parcel.createExceptionOrNull(Parcel.java:2379)
        at android.os.Parcel.createException(Parcel.java:2357)
        at android.os.Parcel.readException(Parcel.java:2340)
        at android.os.Parcel.readException(Parcel.java:2282)
        at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:3696)
        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1723)
        at android.app.ContextImpl.startActivity(ContextImpl.java:1023)
        at android.app.ContextImpl.startActivity(ContextImpl.java:994)
        at android.content.ContextWrapper.startActivity(ContextWrapper.java:403)

即使我有我System_alert_window授予的权限,它也会在上面抛出错误。我Settings.canDrawOverlays(context)在开始一项活动之前检查过:

if (Settings.canDrawOverlays(context)) {
     Intent intent1 = new Intent(context, MyActivity.class);                               
     intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_FROM_BACKGROUND);
     context.startActivity(intent1);
}

这是文档:https ://developer.android.com/guide/components/activities/background-starts#exceptions 。有人对此有解决方案吗?

标签: android

解决方案


推荐阅读