2012-05-07 88 views

回答

0

Android AlarmManager實際上沒有發出聲音警報。如果您安排了鬧鐘,鬧鐘管理員將通過啓動您提供的PendingIntent(在您的情況下爲AlarmService)在設定的鬧鐘時間通知您的應用程序。它什麼都沒有做。如果你想要聲音,你的AlarmService應該在服務啓動時播放。您可以使用android mediaplayer

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> 

相關問題