2

3つの異なるアラームを同時に設定する必要がありますが、現在2つのアラームを処理しようとしています。私はこの Androidのようなチュートリアルに従いました:複数のアラームが機能していませんか?しかし、何も機能しませんでした。IMは2の代わりに1つのアラームしか取得していません。何が間違っているのかを理解するのを手伝ってください。これが複数のアラームを伴う私のコードです:

    //alarm1
                Intent alarmIntent = new Intent (Enter_med.this, MyAlarmService.class);

                //pendingIntentOfTwoMonth2 = PendingIntent.getBroadcast(this, 1, in, PendingIntent.FLAG_UPDATE_CURRENT);
                PendingIntent pendingAlarmIntent = PendingIntent.getService(Enter_med.this, 0, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT);
                AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);

                Calendar AlarmCal = Calendar.getInstance();
                AlarmCal.setTimeInMillis(System.currentTimeMillis());
                AlarmCal.set(Calendar.HOUR_OF_DAY, pHour);
                AlarmCal.set(Calendar.MINUTE, pMinute);
                AlarmCal.set(Calendar.SECOND, 0);

                alarmManager.set(AlarmManager.RTC_WAKEUP, AlarmCal.getTimeInMillis(), pendingAlarmIntent);


                //alarm2
                PendingIntent pendingAlarmIntent2 = PendingIntent.getService(Enter_med.this, 1, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT);
                AlarmManager alarmManager2 = (AlarmManager)getSystemService(ALARM_SERVICE);

                Calendar AlarmCal2 = Calendar.getInstance();
                AlarmCal2.setTimeInMillis(System.currentTimeMillis());
                AlarmCal2.set(Calendar.HOUR_OF_DAY, pHour);
                AlarmCal2.set(Calendar.MINUTE, pMinute);
                AlarmCal2.set(Calendar.SECOND, 0);

                alarmManager2.set(AlarmManager.RTC_WAKEUP, AlarmCal2.getTimeInMillis(), pendingAlarmIntent2);

                Toast.makeText(Enter_med.this, "Saved", Toast.LENGTH_SHORT).show();

                Intent intent = new Intent(context, MedSked.class);
                startActivity(intent);   



            }

        }
     });

これが私のアラーム受信機です:

    public class MyAlarmService extends Service {

@Override
public void onCreate() {
    Toast.makeText(this, "MyAlarmService.onCreate", Toast.LENGTH_LONG).show();

}

@Override
public IBinder onBind(Intent arg0) {
    // TODO Auto-generated method stub
    return null;
}

public void onDestroy() {
    super.onDestroy();
    Toast.makeText(this, "MyAlarmService.onDestroy()", Toast.LENGTH_LONG).show();
}

@Override
public void onStart(Intent intent, int startId) {
    super.onStart(intent, startId);
    Bundle extras = intent.getExtras();
    String data = extras.getString("nel.example.alarms1");
    Toast.makeText(this, "MyAlarmService.onStart() data = " + data, 
            Toast.LENGTH_LONG).show();

    Intent alertIntent = new Intent();
    alertIntent.setClass(this, MyAlert.class);
    alertIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(alertIntent);

}

これが私のアラートダイアログです:

    public class MyAlert extends Activity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_my_alert);

        AlertDialog alertDialog = new AlertDialog.Builder(MyAlert.this).create();
        alertDialog.setTitle("Med Reminder");

        alertDialog.setMessage("Time to take your medicine");
        alertDialog.setIcon(R.drawable.ic_launcher);

        alertDialog.setButton("OK", new DialogInterface.OnClickListener(){

            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub

            }
        });
        alertDialog.show();
    }



}

明日は締め切りのプレゼンテーションがあります。どんな助けでも大歓迎です。前もって感謝します..

4

0 に答える 0