Есть ли способ проверить, включена ли опция "Установить из неизвестного источника" на Android?

Я хочу пригласить пользователя, если этот параметр не включен.

Ответ 1

Вот еще один способ проверить этот параметр:

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

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

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

Ответ 2

Uri settingsUri = Settings.Secure.CONTENT_URI;
String[] projection = new String[]{Settings.System.VALUE};
String selection = Settings.Secure.NAME + " = ? AND " +
        Settings.Secure.VALUE + " = ?";
String[] selectionArgs = {Settings.Secure.INSTALL_NON_MARKET_APPS,
    String.valueOf(1)};
Cursor query = getContentResolver().query(settingsUri, projection,
    selection, selectionArgs, null);
if (query.getCount() == 1) {
    // it enabled
} else {
    // it not
}