Кажется, что нет класса, который мог бы предоставить вам стандартные настройки вибрации для входящего вызова.Поскольку большинство телефонов поставляются с пользовательскими приложениями вызывающего абонента и поскольку в Google Play имеется множество пользовательских приложений вызывающего абонента, этого «стандартного» шаблона, вероятно, даже не существует.
Стандартное приложение вызывающего абонента из AOSP использует этот шаблон:
private static final int VIBRATE_LENGTH = 1000; // ms
private static final int PAUSE_LENGTH = 1000; // ms
И чтобы определить, включена ли вибрация:
boolean shouldVibrate() {
AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
int ringerMode = audioManager.getRingerMode();
if (Settings.System.getInt(mContext.getContentResolver(), "vibrate_when_ringing", 0) > 0) {
return ringerMode != AudioManager.RINGER_MODE_SILENT;
} else {
return ringerMode == AudioManager.RINGER_MODE_VIBRATE;
}
}
Это зависит от настроек «Вибрация при звонке» и «Режим звука», которые вы можете найти в стандартных настройках телефона..