5

我怎样才能做到这一点?我当前的代码如下所示:

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);
4

1 回答 1

2

请参阅Notification#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" />
于 2012-07-15T00:37:19.357 回答