我想將我的Android設備音頻模式從普通模式更改爲靜默模式並保持正常。 `如何在Android 7.0中更改音頻模式(無聲,普通)而無需打開設置意圖?
AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
if(!silent) {
audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
silent = true;
}
else {
audio.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
silent = false;
}
` 這是我的代碼,我使用。完美運行,直到Android 6所有版本。 但在Android 7+上它崩潰。
我在網上找到一個解決方案,打開一個設置意圖,並從用戶那裏獲得一些權限,然後這段代碼工作正常。這是我用那麼
Intent intent = new Intent(
android.provider.Settings
.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS);
startActivity(intent);
但我的項目的要求是不要求開一個設置的意圖,以允許它在那裏形成的代碼。是應該像獲得用戶許可改變模式在同一活動就像所有其他權限,即位置,讀取聯繫人等工作
我試圖找出他們如何實現代碼文件中的權限,但沒有找到它。如果有人知道,請讓我知道。
「但在Android 7+上它崩潰」 - 使用LogCat檢查與您的崩潰相關的Java堆棧跟蹤:https://stackoverflow.com/questions/23353173/uncomfort-myapp-has-stopped-how-can -i-solve-this – CommonsWare
是的,我已經檢查過了。 它說你沒有被授予改變設置:( –
如果你編輯你的問題,併發布整個Java堆棧跟蹤,你可能會有更多的運氣好運 – CommonsWare