【发布时间】:2020-08-10 21:14:19
【问题描述】:
我使用此代码来检测手机上是否启用了开发者选项:
int developerOptions = Settings.Secure.getInt(this.getContentResolver(), Settings.Global.DEVELOPMENT_SETTINGS_ENABLED , 0);
但是,我对此进行了测试,但它在少数设备上返回了错误的值(一些华为手机和其他...)
是否有另一种完整的证明方法来检测设备中是否启用了开发者选项?
我试过了,但它不起作用(我不想使用那个方法,因为它不优雅,我只是在测试):
try
{
startActivityForResult(new Intent(android.provider.Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS), 8080);
finishActivity(8080);
// Developer options enabled
}
catch (Exception e)
{
// Developer options disabled
}
我的应用的最低 API 级别是 21。
我查看了this question 和 SO 上的其他类似内容,但我没有找到完整的解决方案。这不是重复的问题。
【问题讨论】:
-
如果您在华为手机上获取或记录
Settings.Global.DEVELOPMENT_SETTINGS_ENABLED的值,与其他工作手机相比,您能告诉我您得到什么String吗?如果我是正确的,这可能是由于中国手机的本地化。 -
@HarryTimothy 不幸的是,我个人没有华为,我的用户向我报告了这个问题。