-1

アラームを再生してリマインダーを設定する必要がある Android アプリケーションを開発しています。

4

2 に答える 2

0

Android AlarmManagerは、実際には可聴アラームを鳴らしません。アラームをスケジュールする場合、アラーム マネージャーは、PendingIntent指定した (この場合は AlarmService) を開始することによって、設定されたアラーム時刻にアプリに通知します。それ以上何もしません。サウンドが必要な場合は、サービスの開始時に AlarmService でサウンドを再生する必要があります。これには android mediaplayerを使用できます。

于 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 に答える