これは私の onclick() 関数です。これはターゲットアラームを設定します
SA=(ボタン)findViewById(R.id.button1); SA.setOnClickListener(新しいOnClickListener() { @SuppressWarnings("非推奨") @オーバーライド public void onClick(View v) { showDialog(id); } }); } @オーバーライド 保護されたダイアログ onCreateDialog(int id1) { スイッチ (id1) { ケースID: // タイムピッカーを現在の時刻として設定 新しい TimePickerDialog(これ、 timePickerListener、時間、分、false); } null を返します。 } プライベート TimePickerDialog.OnTimeSetListener timePickerListener = 新しい TimePickerDialog.OnTimeSetListener() { public void onTimeSet(TimePicker view, int selectedHour, int selectedMinute) { カレンダー calnow=Calendar.getInstance(); calnow.setTimeInMillis(System.currentTimeMillis()); calnow.set(Calendar.HOUR_OF_DAY,selectedHour); calnow.set(Calendar.MINUTE,selectedMinute); calnow.set(Calendar.SECOND, 0); インテント インテント=新しいインテント(getBaseContext(),alarm.class); PendingIntent pendingintent= PendingIntent.getBroadcast(getBaseContext(),0, インテント, 0); AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE); alarmManager.set(AlarmManager.RTC_WAKEUP, calnow.getTimeInMillis(),pendingintent); Toast.makeText(getBaseContext(), "アラームセット", Toast.LENGTH_SHORT).show(); } };
public void onReceive(Context arg0, Intent arg1) { AlarmManager mgr = (AlarmManager)arg0.getSystemService(Context.ALARM_SERVICE); Toast.makeText(arg0,"アラーム開始.....", Toast.LENGTH_LONG).show();
ここでの問題は、ターゲットアラームに到達する前にボタンをクリックしてアラームを設定するとすぐに、「アラームセット」と「アラーム開始」の両方のトーストが表示されることです。