Mic*_*Tin 6 reflection android android-p-developer-preview android-9.0-pie
Developer Preview 3今天发布,我注意到一些与非SDK接口相关的更改:
访问以下API会在DP2和DP3上生成不同的日志
Class<?> androidIdClass = Class.forName("com.android.internal.R$id");
Integer search_close_btn = getFieldValue(androidIdClass, null, "search_close_btn");
Run Code Online (Sandbox Code Playgroud)
DP2:
Accessing hidden field Lcom/android/internal/R$id;->search_close_btn:I (blacklist, reflection)
结果:NoSuchFieldException,无法访问该字段
DP3: Accessing hidden field Lcom/android/internal/R$id;->search_close_btn:I (dark greylist, reflection)
结果:该字段可访问
有人可以解释为什么这个字段在DP3中可用,黑暗灰名单和黑名单有什么区别?
有人可以解释一下为什么这个字段在 DP3 中可用吗?
深灰名单和黑名单有什么区别?
黑名单是指无论您的应用程序要针对哪个 API 级别,都不会起作用的调用。
深灰名单是当且仅当您的应用程序针对 API 级别 28 时才会起作用的调用,否则它们会正常工作。