0

Я должен включить вибрацию только на устройствах с Android 7+. В предыдущих версиях мы могли бы просто сделать:Как включить вибрацию от Android 7+

AudioManager aManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); 
aManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE); 

Разрешение android.permission.VIBRATE установлен.

Как я могу добиться этого на Android 7+?

+0

Пожалуйста, проверьте, возможно, необходимо принять запуск разрешения по времени. –

ответ

0

Я никогда не использовать свой код для вибрации, но я предполагаю, что мой код ниже работает на Android 7+ (не проверено)

Try:

import android.os.Vibrator; 

[...] 

Vibrator v = (Vibrator) this.context.getSystemService(Context.VIBRATOR_SERVICE); 
// Vibrate for 500 milliseconds 
v.vibrate(500); 

Примечание: Лучше проверить, устройство может вибрировать:

if (v.hasVibrator()) { 
    Log.v("Can Vibrate", "YES"); 
} else { 
    Log.v("Can Vibrate", "NO"); 
} 

Для более подробного объяснения, взгляните на более precisely answer по Лиам Geo rge Betsworth.

Надеюсь, это поможет вам!

+0

Я не хочу, чтобы устройство вибрировало из моего приложения. Я хочу включить/отключить вибрацию в настройках основного устройства. Как звук включен, выключен или только вибрация. – egmontr

0

В Android 7 вам необходимо получить разрешение на изменение настроек устройства для переключения любых параметров настройки. Вы можете увидеть возможность предоставления этого разрешения в App Info.

Вы заметите отдельный элемент списка с именем,

Modify system settings

Modify System Settings

и при нажатии на него, вам будет предложено предоставить разрешение или нет.

По умолчанию для этого параметра установлено значение No. Измените это, и ваш код будет работать отлично.

Или вы можете добавить разрешение,

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>,

для обеспечения доступа по умолчанию.

Надеюсь, это поможет. Этот параметр также зависит от того, на котором вы находитесь.

0

попробовать это

добавить разрешение в манифесте

<uses-permission android:name="android.permission.VIBRATE"/> 

затем код, как

import android.os.Vibrator; 
    ........... 

    Vibrator viber= (Vibrator) this.context.getSystemService(Context.VIBRATOR_SERVICE); 
    viber.vibrate(500); //("time in milliseconds") 
+0

Я не хочу начинать вибрацию. Я хочу включить/отключить вибрацию в настройках основного устройства. Как звук включен, выключен или только вибрация. – egmontr

+0

'aManager.setRingerMode (1)' попробуйте это –

 Смежные вопросы

  • Нет связанных вопросов^_^