Android-如何检查是否启用了开发者选项

Android-如何检查是否启用了开发者选项,android,developer-tools,android-developer-api,Android,Developer Tools,Android Developer Api,如何检查用户的设备上是否启用了开发人员选项? (不是在adb通信活动或调试USB活动的情况下,我只需要知道是否启用了开发人员选项) 我尝试过这个解决方案: 但这对我不起作用。 提前感谢您应该使用 或设置中的其他设置。全局 具有 编辑: 在API 17下面,它是相同的,但使用尝试以下操作: int adb = Settings.Secure.getInt(this.getContentResolver(), Settings.Global.DEVELOPMENT_

如何检查用户的设备上是否启用了开发人员选项? (不是在adb通信活动或调试USB活动的情况下,我只需要知道是否启用了开发人员选项)

我尝试过这个解决方案: 但这对我不起作用。 提前感谢

您应该使用 或设置中的其他设置。全局 具有

编辑: 在API 17下面,它是相同的,但使用

尝试以下操作:

int adb = Settings.Secure.getInt(this.getContentResolver(),
                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED , 0);

如果Android 4.1或更高版本(API 16)的所有设备都启用了开发人员模式,那么这个方法将返回true;如果这些设备上没有启用开发人员模式,那么这个方法将返回false;对于所有早期的Android设备,直到1.0,这个方法将返回false

        @android.annotation.TargetApi(17) public boolean isDevMode() {
            if(Integer.valueOf(android.os.Build.VERSION.SDK) == 16) {
                return android.provider.Settings.Secure.getInt(getApplicationContext().getContentResolver(),
                        android.provider.Settings.Secure.DEVELOPMENT_SETTINGS_ENABLED , 0) != 0;
            } else if (Integer.valueOf(android.os.Build.VERSION.SDK) >= 17) {
                return android.provider.Settings.Secure.getInt(getApplicationContext().getContentResolver(),
                        android.provider.Settings.Global.DEVELOPMENT_SETTINGS_ENABLED , 0) != 0;
            } else return false;
        }
Kotlin溶液:

@RequiresApi(Build.VERSION_CODES.JELLY_BEAN)
fun isDevMode(context: Context): Boolean {
    return when {
        Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN -> {
            Settings.Secure.getInt(context.contentResolver,
                Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0
        }
        Build.VERSION.SDK_INT == Build.VERSION_CODES.JELLY_BEAN -> {
            @Suppress("DEPRECATION")
            Settings.Secure.getInt(context.contentResolver,
                Settings.Secure.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0
        }
        else -> false
    }
}

请让我们看看你做了什么far@AbhinavSinghMaurya请参阅修改的问题设备开发人员选项启用与调试模式(您引用的解决方案)是两个不同的问题。我用我的游戏应用程序来决定是否启用开发者选项,以便生产应用程序可以像两周前一样出于安全考虑自杀,我会向任何不希望其知识产权被黑客攻击的人推荐。但API 17中引入了开发设置启用。如何在以前的API级别上检查此问题?您可以在API 17下面找到它:对于API 16,您可以使用:
Settings.Secure.DEVELOPMENT\u Settings\u ENABLED
,对于低于16的API?我不确定API<16是否支持此功能。另一种方法是使用try-catch块,并在发生错误时打开首选项页面<代码>startActivity(新的意图(android.provider.Settings.ACTION\u APPLICATION\u DEVELOPMENT\u Settings))如果它是1,则表示它已启用或有另一个值要检查