私はSMSスケジュールアプリを作成しています。このアプリは、ユーザーからの時間、SMS、および番号を取得し、特定の時間にこのSMSを送信します。私はを使用してPendingIntent
います。これが私のサンプルコードです。
ユーザーがスケジュールを作成すると、このメソッドを呼び出すだけです。
private void SendMessages()
{
Intent intent = new Intent(this, SMSBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
this.getApplicationContext(), 234324243, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, Timemilli, pendingIntent);
}
そしてここに「SMSBroadcastReceiver.java」ファイルがあります
public class SMSBroadcastReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
Toast.makeText(context, "SMS Sent !!!!.", Toast.LENGTH_LONG)
.show();
// //Sms Sending
try
{
SmsManager smsManager = SmsManager.getDefault();
for (int i = 0; i < SMSScheduleContactsActivity.SelectedContacts.length; i++)
{
smsManager.sendTextMessage(
SMSScheduleContactsActivity.SelectedContacts[i], null,
AddNewSmsSchedule.Message, null, null);
}
Log.d("testllllllllllllllll", "Message Sent");
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
私の質問は、ユーザーがスケジュールを編集するときに、そのブロードキャストをキャンセルして新しいブロードキャストを送信するにはどうすればよいですか?複数のスケジュールが存在する可能性があるため、変更/中止する特定のスケジュールを見つけるにはどうすればよいですか?