Я получил интересную часть в своих исследованиях с Android. Я в процессе прохождения, я создал время PendingIntent, чтобы уйти. Прежде чем он уходит, я блокирую телефон. Когда это уходит. Я вижу, что он работает и пытается изменить настройку вибрации на моем телефоне. К сожалению, настройки не применяются.
код:
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "VibrateTag");
wakeLock.acquire();
AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
int ringerMode = audio.getRingerMode();
if(ringerMode != AudioManager.RINGER_MODE_NORMAL && item.getVibrate() && item.getVolume() != 0)
{
audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
}
final String INFO = "INFO";
int vibrateSetting = AudioManager.VIBRATE_SETTING_OFF;
if (item.getVolume() != 0)
{
if (item.getVibrate()) vibrateSetting = AudioManager.VIBRATE_SETTING_ON;
}
else
{
if (item.getVibrate()) vibrateSetting = AudioManager.VIBRATE_SETTING_ONLY_SILENT;
}
Log.e(INFO,"AReceiver attempting to update vibrate to " + vibrateSetting);
audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, vibrateSetting);
Log.e(INFO,"AReceiver updated vibrate to " + audio.getVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER));
wakeLock.release();
журнал в заблокированном виде:
06-27 18:31:00.184: ERROR/INFO(3031): AReceiver attempting to update vibrate to 1
06-27 18:31:00.184: ERROR/INFO(3031): AReceiver updated vibrate to 0
Как я уже говорил, когда он разблокирован и используется, этот журнал будет читать, показывая, что изменение прошло успешно, где он изменит свое значение на 1.
Теперь, если мой телефон разблокирован, и я делаю это, это работает. Трансляция работает (началась в BootUp).
Я даже пытался заблокировать разрешения для использования с:
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
Теперь, имея это в виду, я также пытался делать эти вещи с и без блокировки.
Можно ли изменить настройки в состоянии блокировки?
Чего мне не хватает, чтобы это произошло? Могу поспорить, это просто что-то такое простое, что я смотрю
Спасибо,
Келли