我正在开发一个 android 应用程序,我必须在其中播放警报并设置提醒。
问问题
524 次
2 回答
0
Android AlarmManager实际上并没有发出声音警报。如果您安排警报,警报管理器将通过启动PendingIntent
您提供的(在您的情况下为 AlarmService)在设置的警报时间通知您的应用程序。它不再做任何事情。如果您想要声音,您的 AlarmService 应该在服务启动时播放。您可以为此使用 android媒体播放器。
于 2012-05-07T11:29:29.023 回答
0
要在通知中播放声音,您必须设置声音文件的 url,如下所示
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
boolean isSound = pref.getBoolean("sound", true);
String soundUri;
if(isSound) {
soundUri = pref.getString("Ringtone", String.valueOf(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)));
}
notification.sound = Uri.parse(soundUri);
对于设置通知声音,您可以使用RingtonePreference
这是首选项屏幕的演示 xml
<CheckBoxPreference android:title="Vibrate"
android:key="Vibrate" android:defaultValue="true"></CheckBoxPreference>
<CheckBoxPreference android:title="Notification Sound"
android:key="Sound" android:defaultValue="true"></CheckBoxPreference>
<RingtonePreference android:title="Ringtone"
android:key="Ringtone" android:dependency="Sound" android:summary="Select Ringtone"
android:ringtoneType="notification" />
</PreferenceCategory>
<PreferenceCategory android:title="Synchronized Task Notification">
<CheckBoxPreference android:title="Notify for new synchronized task"
android:key="syncNotification" android:defaultValue="true"></CheckBoxPreference>
<ListPreference
android:title="Check for Synchronized tasks after every..."
android:key="syncTime"
android:dependency="syncNotification"
android:defaultValue="300000"
android:entries="@array/syncCheckTimeNames"
android:entryValues="@array/syncCheckTimeValues" />
</PreferenceCategory>
于 2012-05-09T05:33:26.727 回答