android - 检查开发设置的功能未按预期工作
问题描述
我有一个功能可以检查是否启用了开发人员模式,如下所示:
这是代码:
public boolean isDevMode() {
if(Build.VERSION.SDK_INT >= 17) {
return android.provider.Settings.Global.getInt(getApplicationContext().getContentResolver(),
Settings.Global.DEVELOPMENT_SETTINGS_ENABLED , 0) != 0;
} else {
return false;
}
}
它在 API 26+ 上完美运行,但我刚刚在 API 24 的模拟器上对其进行了测试,无论是否启用了开发人员设置,它都会返回 false。
我错过了什么?< 26 是否有不同的选择?
解决方案
通过将默认值更改为 true 来修复它,仅适用于 oreo 下的构建。
public boolean isDevMode() {
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
return Settings.Secure.getInt(context.getContentResolver(), Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0;
} else {
return Settings.Secure.getInt(context.getContentResolver(), Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1) != 0;
}
}
推荐阅读
- r - 安装 *source* 包 'Rcpp' 错误。R 在错误的文件夹中指向/寻找 g++
- vba - 如何在用户键入时自动填充组合框?
- apache-spark - 重新启动以 Kafka 作为源的流式查询时的数据丢失情况
- c - 以与 C 语言中的 MATLAB 类似的方式从 .csv 文件加载的最佳方法
- javascript - 网页的材料设计。如何设置 mdc.menu 的位置?
- java - 如何使用 spring boot 2.15 正确配置 elasticsearch 7.1.1?
- javascript - 加载ajax后如何清除url中的#?
- python - 如何通过触发“阅读更多”按钮来抓取数据
- angular - 使用 RXJS 或 @input/@output 在父/子组件之间进行通信是否更好
- python - 如何将多维 numpy 数组插入到 pandas 列?