Программно определить, разрешена ли установка из неизвестных источников
Мне нужно выяснить, позволяет ли текущее устройство Android устанавливать приложения из других источников, кроме рынка. Этот параметр отображается в пользовательском интерфейсе настроек в разделе Приложения с именем "Неизвестные источники".
Настройки в основном позволяют загружать и устанавливать APK, которые не были созданы на рынке приложений Google.
Как проверить, включен или выключен этот флаг с помощью кода?
Ответы
Ответ 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));
}