Android: вибрировать в соответствии с выбором, выбранным в меню «Настройки звука»> «Общие». - PullRequest
5 голосов
/ 08 ноября 2010

Как я могу это сделать? Мой текущий код показан ниже:

final NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.stat_sys_warning, System.currentTimeMillis());    
notification.defaults |= Notification.DEFAULT_SOUND;
notification.flags |= Notification.FLAG_AUTO_CANCEL;
Intent notificationIntent = new Intent(Intent.ACTION_MAIN, Uri.EMPTY, context, Activity....class).putExtra(...);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
notification.setLatestEventInfo(context, title, text, contentIntent);
manager.notify(1, notification);

1 Ответ

2 голосов
/ 15 июля 2012

См. Документацию для Уведомление # DEFAULT_ALL , а также DEFAULT_VIBRATE под ним.В данный момент вы не указываете, что вам нужна конфигурация DEFAULT_VIBRATE (ваш текущий код выбирает только DEFAULT_SOUND.

notification.defaults |= Notification.DEFAULT_VIBRATE;

Если вы хотите использовать настройки устройства по умолчанию для звука и Вибрация, вы можете сделать это, используя побитовое ИЛИ:

notification.defaults |= Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE;

В качестве альтернативы вы можете указать, что вы хотите использовать все настройки уведомлений по умолчанию:

notification.defaults |= Notification.DEFAULT_ALL;

Кроме того, вам также необходимо убедиться, что у вас есть разрешение VIBRATE , указанное в вашем файле AndroidManifest.xml:

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