Для личного использования я хотел бы иметь возможность вызвать «Settings.System» (переключить 4g, переключить режим полета…).
Я понял, что это невозможно с API 17, когда Settings.System стал Settings.Global ... Итак, я запустил приложение с API 16, но оно все еще не работает, мне не разрешено переключать режим полета.
Есть какие-нибудь советы по решению этой проблемы? Или android liberties полностью устарели?
EDIT - Здесь несколько строк (kotlin), которые ничего не делают:
try {
val isEnabled = Settings.System.getInt(
contentResolver,
Settings.System.AIRPLANE_MODE_ON,
0
) == 1
Settings.System.putInt(
contentResolver,
Settings.System.AIRPLANE_MODE_ON,
if (isEnabled) 0 else 1
)
val intent = Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED)
intent.putExtra("state", !isEnabled)
sendBroadcast(intent)
} catch (e: Exception) {
Toast.makeText(this, "exception:$e", Toast.LENGTH_LONG).show()
}
И результат:
exception:java.lang.SecurityException:
Permission Denial: not
allowed to send broadcast
android.intent.action.AIRPLANE_MODE
from pid=18122, uid=10335