正在尝试将我的应用程序更新到 Android S,遇到了一些题目/错误所说的问题。我知道错了
以 S + (版本10000及以上)为目标,须符合下列条件之一: 时指定 FLAG _ IMMUTABLE 或 FLAG _ MUTABLE 未决意图。 强烈考虑使用 FLAG _ IMMUTABLE,如果某些功能依赖于 PendingInent 是可变的,则仅使用 FLAG _ MUTABLE,例如,如果 它需要与内联答复或气泡一起使用。
在我的通知代码中,我只有1个挂起意图,并且我添加了标志
PendingIntent.getActivity(
mContext,
0 /* Request code */,
intentOptional.get(),
PendingIntent.FLAG_IMMUTABLE
)
阅读谷歌的文档这应该是所有我需要的安全更新在 Android S。我在这里发现一个几个月前的帖子,要求类似的东西,有人说,添加工作管理器 https://stackoverflow.com/a/67181567/4219444到项目,即使你不使用它。所以我加了一句
def work_version = "2.7.0-alpha04"
implementation "androidx.work:work-runtime-ktx:$work_version"
这没有任何帮助,因为我仍然收到错误。有没有人知道这是 Android S 升级的常见问题,还是也会检查库?因为应用程序一直崩溃,不知道该怎么办。
我已经创建了一个应用程序,没有使用任何库,并使用了相同的 PendingInent,并且能够运行一个基本的 hello world 应用程序。我从试图编译的项目中得到的完整错误是:
目标 S + (版本10000及以上)要求在创建 PendingInant 时指定 FLAG _ IMMUTABLE 或 FLAG _ MUTABLE 之一。 强烈考虑使用 FLAG _ IMMUTABLE,只有当某些功能依赖于 PendingInent 是可变的时候才使用 FLAG _ MUTABLE,例如,如果它需要与内联应答或气泡一起使用。 在 android.app. PendingInent.checkFlags (PendingInent.java: 375) 在 android.app. PendingInent.getBroadcastAsUser (PendingInent.java: 645) 在 android.app. PendingInent.getBroadcast (PendingInent.java: 632) 在 com.google.android.gms.interal.gtm.zzbv.zzfe (未知来源: 52) 取消(未知来源: 54) 在 com.google.android.gms.interal.gtm.zzbv.zzaw (未知来源: 4) 在 com.google.android.gms.interal.gtm.zzan.zzag (未知来源: 7) 网址: com.google.android.gms.interal.gtm.zzap (未知来源: 67) 在 com.google.android.gms.interal.gtm.zzap.zzc (未知来源: 82) 在 com.google.android.gms.analytics. GoogleAnalytics.getInstance (未知来源: 15) 应用程序模块: 339) ApplicationModule _ ProvidesGoogleAnalyticsLogger $app _ developmentDebugFactory. provision esGoogleAnalyticsLogger $app _ developmentDebug (ApplicationModule _ ProvidesGoogleAnalyticsLogger $app _ developmentDebugFactory. java: 47) ApplicationModule _ ProvidesGoogleAnalyticsLogger $app _ developmentDebugFactory. get (ApplicationModule _ ProvidesGoogleAnalyticsLogger $app _ developmentDebugFactory. java: 36) ApplicationModule _ ProvidesGoogleAnalyticsLogger $app _ developmentDebugFactory. get (ApplicationModule _ ProvidesGoogleAnalyticsLogger $app _ developmentDebugFactory. java: 11) 在 dagger.Internal. DoubleCheck.get (DoubleCheck.java: 47) ApplicationModule _ ProvidesMultiAnalyticsLogger $app _ developmentDebugFactory. get (ApplicationModule _ ProvidesMultiAnalyticsLogger $app _ developmentDebugFactory. java: 35) ApplicationModule _ ProvidesMultiAnalyticsLogger $app _ developmentDebugFactory. get (ApplicationModule _ ProvidesMultiAnalyticsLogger $app _ developmentDebugFactory. java: 10) 在 dagger.Internal. DoubleCheck.get (DoubleCheck.java: 47) 应用程序(DaggerIProdApplicationComponent. java: 941) 2021-07-0211:18:17.61122561-22561/com.chrobinson.navispherecarrier.dev E/AndroidRuntime: at di.interal.Component 在 com.chrobinson.navispherecarrier.ChApplication.onCreate (ChApplication.kt: 90) 在 android.app. Instrumentation.callApplicationOnCreate (Instrumentation.java: 1211) ActivityThread.handleBindApplication (ActivityThread.java: 6682)