android - 无法从 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 。有人对此有解决方案吗?
解决方案
推荐阅读
- c++ - 为什么我的函数没有输出我返回的内容?
- php - Symfony - 使用 Swiftmailer 向外部地址发送邮件时出现“503 5.5.2 Need rcpt command”消息
- flutter - 如何在 IOS 中使用带有动态 url 的 WebView?
- spring - Spring集成Kafka xml配置
- flutter - 当应用程序被杀死时,无法在推送通知点击时导航到特定屏幕(Flutter android)
- c - 在 C (UEFI) 中获取 EDID 信息:读取 ES:DI 寄存器?
- java - Android Studio 的 Firebase 工具中缺少电子邮件和密码身份验证
- python - sjoin 返回空的 GeoDataFrame
- video - Android 10 从 Uri 获取路径
- c# - Xamarin 表单和 gRPC:服务器返回了无效或无法识别的响应