gpt4 book ai didi

android - 为什么它说 "deprecated"是我唯一可以用于所选 API 级别的方法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:01:15 26 4
gpt4 key购买 nike

在我的 Android list 中,它是这样说的:

<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="16" />

但是当我编写这段代码时,末尾的 getNotification 警告我说该方法“已弃用”:

Notification myNotification = new Notification.Builder(appContext)
.setContentTitle("SIC")
.setContentText(tickerText)
.setWhen(when)
.setDefaults(Notification.DEFAULT_SOUND)
.setAutoCancel(true)
.setContentIntent(contentIntent)
.getNotification(); // <-- warning here

现在的问题是,对于 API 级别 10,这是我正在开发的最低级别,getNotification 是唯一可以使用的级别。称为“build()”的较新方法适用于 API 级别 16。

那么为什么我会收到已弃用的警告,即使它是我唯一可以而且应该使用的警告?有人可能认为警告/文档应该适应 minSdkLevel,而不是最高级别...

最佳答案

So why am I getting the deprecated warning even though its the only one I can and should use?

因为您的构建目标是 API 级别 16 或更高级别,因此不推荐使用此方法。

One might think that the warning/docs should adapt to the minSdkLevel, not the highets one

在那种情况下,一个是不正确的。弃用与 minSdkVersion 无关,就像在 Android 之外的标准 Java 中一样(存在弃用而 minSdkVersion 不存在)。

此外,您应该使用 Android 支持包的 Notification.Builder 版本(称为 NotificationCompat.Builder,因为 API 级别 10 中不存在 native 版本,您的 list 表明您正在尝试支持。build() 应该存在于 NotificationCompat.Builder 上,并在所有您需要的 API 级别上工作。

关于android - 为什么它说 "deprecated"是我唯一可以用于所选 API 级别的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13807815/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com