当我使用"Call requires API level 23".
时,Android Studio会显示:ContextCompat.checkSelfPermission(Context, String)
当我使用{{1}}时,Android Studio不会显示任何错误。
你能解释一下吗?
答案 0 :(得分:0)
Compat
类(ActivityCompat,ViewCompat等)只是避免使用API版本检查乱丢代码的简洁方法。如果存在所有API不存在的方法或已更改其签名的方法,则Compat类将确保为每个API版本采取适当的操作。我建议你看一下源代码,看看它是如何工作的:
ActivityCompat: https://android.googlesource.com/platform/frameworks/support/+/37ae8a0/v4/java/android/support/v4/app/ActivityCompat.java