Ash*_*win 7 android android-notifications
我想为用户提供选择灯光,声音或振动或这三者的组合选项以进行提醒Notification.
在android文档中,我看到有一个选项可以DEFAULT_ALL在所有三种警报方法中使用.
否则就选择其中的任何一个(一个选项DEFAULT_LIGHTS,DEFAULT_VIBRATE,DEFAULT_SOUND).
是否有通过组合例如任何方式SOUND和VIBRATION,但没有LIGHTS和其他组合可制成?
编辑
Notification.Builder's(来自prolink007的回答)方法setDefaults(int default)说:
该值应该是以下一个或多个字段与按位或:DEFAULT_SOUND,DEFAULT_VIBRATE,DEFAULT_LIGHTS 结合使用.
该如何使用?
pro*_*007 20
该Notification.Builder API 11或NotificationCompat.Builder API 1提供设置这些类型的警报的几种不同的方法.
该值应该是以下一个或多个字段与按位或:DEFAULT_SOUND,DEFAULT_VIBRATE,DEFAULT_LIGHTS结合使用.
没有经过测试,但我相信如果你愿意,你会做这样的事情SOUND,VIBRATION并且LIGHTS:
setDefaults(DEFAULT_SOUND | DEFAULT_VIBRATE | DEFAULT_LIGHTS);
Run Code Online (Sandbox Code Playgroud)
为了便于携带,我更喜欢NotificationCompat.
用户可能更喜欢他/她的默认值.在NotificationCombat中,您可以将振动,光线和声音设置为用户的默认设置,如下所示:
.setDefaults(-1)
Run Code Online (Sandbox Code Playgroud)
其中"-1"与DEFAULT_ALL匹配:http://developer.android.com/reference/android/app/Notification.html#DEFAULT_ALL
并非您必须请求VIBRATE权限,否则您将收到错误.将其添加到您的Android清单文件中:
<uses-permission android:name="android.permission.VIBRATE" />
Run Code Online (Sandbox Code Playgroud)
我知道这个答案已经回答了一段时间,但只是想提供我的解决方案,它理想地适用于灯,振动和声音的多种组合,如果您为用户提供选项以启用或禁用它们.
int defaults = 0;
if (lights) {
defaults = defaults | Notification.DEFAULT_LIGHTS;
}
if (sound) {
defaults = defaults | Notification.DEFAULT_SOUND;
}
if (vibrate) {
defaults = defaults | Notification.DEFAULT_VIBRATE;
}
builder.setDefaults(defaults);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15569 次 |
| 最近记录: |