blacklist(黑名单):无论 targetSdkVersion 为多少,只要应用运行在 Android 9.0 平台上,访问此名单中的接口都会受限
3.2 如何测试应用是否使用非 SDK 接口
可以通过以下方式进行测试(详情请至[官方文档](()):
使用 Android 9.0 或更高版本的设备调试应用
使用 StrictMode API 进行测试
使用 veridex 工具对应用进行扫描
建议使用第三种方式,该工具的扫描结果会列出应用对于三个限制名单中的接口的调用细节。
4. 前台服务权限
在 Android 9.0 中,应用在使用前台服务之前必须先申请 FOREGROUND_SERVICE 权限,否则就会抛出 SecurityException 异常。
此外,由于 FOREGROUND_SERVICE 权限只是普通权限,因此开发者只需在 AndroidManifest.xml 中注册此权限即可,系统会自动对此权限进行授权:
5. 强制执行 FLAG_ACTIVITY_NEW_TASK 要求
在 Android 7.0(API 级别 24)之前,若开发者需要通过非 Activity context 启动 Activity,就必须设置 Intent 标志 FLAG_ACTIVITY_NEW_TASK,否则会启动失败并抛出以下异常
android.util.AndroidRuntimeExc
精彩链接
发表评论