Подтвердить что ты не робот

Программно определить, разрешена ли установка из неизвестных источников

Мне нужно выяснить, позволяет ли текущее устройство Android устанавливать приложения из других источников, кроме рынка. Этот параметр отображается в пользовательском интерфейсе настроек в разделе Приложения с именем "Неизвестные источники".

Настройки в основном позволяют загружать и устанавливать APK, которые не были созданы на рынке приложений Google.

Как проверить, включен или выключен этот флаг с помощью кода?

4b9b3361

Ответ 1

Этот параметр называется INSTALL_NON_MARKET_APP" (щелкните для документации).

(Я в основном уже набрал вопрос, когда нашел ответ, спрятанный внутри документации, с другим именем, поэтому я решил опубликовать вопрос и ответить на себя, поскольку это не тривиально.)

Ответ 2

Вот код, который использует указанный параметр:

boolean isNonPlayAppAllowed = Settings.Secure.getInt(getContentResolver(), Settings.Secure.INSTALL_NON_MARKET_APPS) == 1;

Также показано, что настройка для пользователя может мне полезна:

if (!isNonPlayAppAllowed) {
    startActivity(new Intent(android.provider.Settings.ACTION_SECURITY_SETTINGS));
}