2
public class Alarm extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Intent intent = new Intent(this, AlarmReceiver.class);

        PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0,
        intent, PendingIntent.FLAG_ONE_SHOT);

        AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
        alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (10 * 1000), pendingIntent);
        Toast.makeText(this, "Alarm set", Toast.LENGTH_LONG).show();
    }
}

public final class AlarmReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context, "Alarm worked.", Toast.LENGTH_LONG).show();
    }
}

10秒後、目覚まし時計としてトーストを鳴らしますが、デフォルトの音はありませんか?Androidでアラームの音を取得するにはどうすればよいですか?toasの代わりにダイアログを表示するにはどうすればよいですか?

4

2 に答える 2

4

AlarmManager音とは何の関係もありません。あなたはおそらくAlarmManager目覚まし時計のアプリケーションと混同しています。私はこれを試していませんが、BroadcastReceiverを介してサウンドを再生することを歓迎します。

于 2010-09-09T12:41:24.000 に答える
0
NotificationManager nm;
@Override
public void onReceive(Context context, Intent intent) {
    nm = (NotificationManager) context.getSystemService(
        Context.NOTIFICATION_SERVICE);
    CharSequence from = "Check your..";
    CharSequence message = "It's time !";
    PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
        new Intent(), 0);
    Notification notif = new Notification(R.drawable.ic_launcher,
        "ut text", System.currentTimeMillis());
    notif.setLatestEventInfo(context, from, message, contentIntent);
    notif.defaults |= Notification.DEFAULT_SOUND; 
    notif.flags |= Notification.FLAG_AUTO_CANCEL; 
    nm.notify(1, notif);
于 2012-04-24T11:46:31.620 に答える