总结
最后,我发现了相关的问题,setForeground()
错误地标记为在扩展FrameLayout
的视图组上需要API 23。
问题189041:setForeground()错误地标记为需要API 23(新API)用于扩展FrameLayout的视图组
如果您没有扩展FrameLayout
,则说明文件错误,需要API 23。
第186273期:观点。设置错误的API级别
更新问题
Commonware在ImageView上标记为无法使用setForeground
方法的副本,并由他回答:
setForeground()存在于API Level 1的FrameLayout上;它仅在API Level 23时处于View上。
在我的例子中,fork中的检查没有检测到文档错误,但是在集成项目中检测到了,我不理解它,无论如何,这回答了我最初的问题。
但情况不同,这段代码已经扩展了Framelayout
,使用这个方法,它不是ImageView
,所以我想这个方法已经在API 23中删除了。它现在没有出现在参考资料中。
更新:我为FrameLayout添加了一个差异报告:
新问题
所以我的问题变为如何在以前的版本中使用该方法,以及为什么会选择性地出现检查错误?
如果我添加了冗余强制转换,错误消息将消失:
((FrameLayout) layout).getForeground()
但是它正在访问现在不支持的View
方法。
因此,我认为针对以前的API会删除错误消息,但我希望能找到一个解决方案,使用此Framelayout方法或线索来解决我的问题:
ANDROID_COMPILE_SDK_VERSION=23
ANDROID_BUILD_TOOLS_VERSION=23.0.1
ANDROID_DEFAULT_MIN_SDK_VERSION=19
ANDROID_DEFAULT_TARGET_SDK_VERSION=23
变通方法
简而言之,作为一种解决方法,我直接将类型更改为FrameLayout
,因此有关API和强制转换的警告消失了,我测试了它在Android 4.4.4设备上的工作情况,并进行了调试,我认为它会崩溃,反正它只在一个动画中使用,我将来会修复/替换它。
初始问题
我分叉和自定义的谷歌示例android-topeka,和android-dios显示一个错误,我不明白的API级别需要使用的方法getForeground()
类查看
在android.view
>包:
调用需要API级别23(当前最小值为19):android.view.View#getForeground
引用将方法标记为在API级别1中添加的,并且留档(Control Q
)显示相同:
但是调用旧版本检查的新方法
显示需要API级别23的错误:
我发现了一个类似的问题,在这种情况下是一个错误,但我认为这不是一个错误,因为原始的分叉没有显示这个错误信息。
我会尝试检测第一次出现的消息,但我做了很多改变,所以任何线索都将不胜感激,谢谢。
最后我发现了相关的问题,setForeground()
错误地标记为需要API 23来扩展FrameLayout
。
问题189041:setForeground()错误地标记为需要API 23(新API)用于扩展FrameLayout的视图组
如果您没有扩展FrameLayout
,则留档错误,API 23确实是必需的。
第186273期:观点。设置错误的API级别
我实际上是在努力做下面的事情:我的服务类 这让我想要的没有被调用,实际上与这个模拟没有任何交互。你知道我做错了什么吗??
我正在实现谷歌的方向API。我的应用程序支持和。 是否有解决方案,或者我应该检查用户的版本,并允许此功能(如果其版本受支持)? 错误: 调用需要API级别26(当前最小值为23):java。时间瞬间#现在少了。。。(Ctrl-F1)检查信息:此检查扫描应用程序中的所有Android API调用,并警告此应用程序针对的所有版本上不可用的任何调用(根据清单中的最小SDK属性)。如果你真的想使用这个AP
在API级别1中添加的公共无效设置文本外观(上下文,int resId)此方法在API级别23中不建议使用。改为使用setText外观(int)。 我的问题:为什么它被弃用?为什么它不再需要?最重要的是,对于旧版本,如何使用?
我正在尝试添加运行时权限android(6.0.1)API 23,如果我使用SDK版本(最小和目标版本均为23)它很好,如下所示, 如果我改变android:minSdkVersion(小于23) 例如: 我在下面收到错误: 调用需要API级别23(当前最小值为14):android.app.Activity#requestPermissions,checkSelfPermission 对于以下两
我的代码中有这样一行: 显示以下错误: 调用需要API级别16(当前最小值为14) 如果API级别较高,它是否限制了我的应用程序可以使用的设备数量?
晚安, 我正在对我的服务进行一些测试,在删除方法中执行测试时遇到了问题。 我想知道是否有人犯过这个错误,可以帮助我。 我扫描时出错。据报道,该方法没有使用。 例外情况: 代码: