SMS スケジューラ アプリケーションを作成し、複数のスケジューリング機能を追加しようとしています。私が行ったことは、ユーザーがボタン (という名前scheduleSMSButton
) をクリックすると、コードがデータ、つまり電話番号、テキスト、SMS が送信される時刻を収集することです。この後、コードは内部クラスのオブジェクトを作成し、上記のデータを呼び出しコンストラクターに追加してから、schedule
メソッドを開始します。
scheduleSMSButton のコードは次のとおりです。
scheduleSMSButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//getting the time.
long difference = targetCal.getTimeInMillis();
//getting the text.
String smsData = smsText.getText().toString();
//getting the phone number.
String smsAddressee = addressee.getText().toString();
//new object of inner class and start schedule method on that object.
new SchedulingInProgress(difference, smsData, smsAddressee).schedule();
}});
作成した内部クラスは次のとおりです。
private class SchedulingInProgress{
long timeToTrigger;
String data;
String addressee;
public SchedulingInProgress(long difference, String smsData,
String smsAddressee) {
timeToTrigger = difference;
data = smsData;
addressee = smsAddressee;
// TODO Auto-generated constructor stub
}
private void schedule(){
Intent fireSendSMSClass = new Intent(getApplicationContext(),
SendSMS.class);
fireSendSMSClass.putExtra("smsData", data);
fireSendSMSClass.putExtra("smsAddressee", addressee);
PendingIntent pdi = PendingIntent.getActivity(getApplicationContext(),
0, fireSendSMSClass, PendingIntent.FLAG_ONE_SHOT);
AlarmManager newManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
newManager.set(AlarmManager.RTC_WAKEUP, timeToTrigger, pdi);
}
}
SendSMSClass は何もせず、メッセージを送信します。
私が直面している問題は、19:00 時間にテキストabcで SMS をスケジュールし、19: 02 時間にテキストxyzで別のアラームをスケジュールする場合です。その後、19:00 にテキスト xyz を含む SMS が送信されます。そして、他のSMSはまったく送信されません。
このバグを修正するにはどうすればよいですか?
ありがとう。