私はユーザーがリストビューから時刻を選択するスケジューリングアプリケーションを開発しています。例えば、午後9時30分、リスト内にあり、ボタン停止スケジュールに当たる時間、スケジュールを止めたい9時30分に9時30分(私はデータベースの更新方法を更新してユーザーの終了時刻を更新する予定)またはユーザーがリストから選択したときに、複数のスケジュールを同時に停止することもできます。繰り返しスケジュールを使用しようとしましたアラームは発生しましたが、解決策は見つかりませんでした。 どうすればこのことができますか?与えられた時間にスケジュールを停止する
これは私が特定の時間のために
@TargetApi(Build.VERSION_CODES.N)
public void scheduleAlarm(View view, String timeEnd,String id) {
StringTokenizer tokens = new StringTokenizer(timeEnd, ":");
String first = tokens.nextToken();
String second = tokens.nextToken();
StringTokenizer token = new StringTokenizer(second, " ");
String two = token.nextToken(); // just changing given time into like 9:30 to 9 and 30
AlarmManager am = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE);
android.icu.util.Calendar calendar = android.icu.util.Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(android.icu.util.Calendar.HOUR_OF_DAY, Integer.parseInt(first));
calendar.set(android.icu.util.Calendar.MINUTE, Integer.parseInt(two));
Intent intent = new Intent(getApplicationContext(), AlarmReciever.class);
intent.putExtra("ID",id);
intent.putExtra("EndTime",timeEnd);
PendingIntent sender = PendingIntent.getBroadcast(getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender);
}
をアラームを作っていたコードであり、これは私が与えられた時間にアラームスケジュールに時間がない与えると同時に、その作品が、ブロードキャストクラストリガー放送受信機です。
public class AlarmReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
SQLITEDBTABLE sqLiteDatabase = new SQLITEDBTABLE(context);
String id = intent.getStringExtra("ID");
String time_end = intent.getStringExtra("EndTime");
sqLiteDatabase.update(time_end, id);
/* sqLiteDatabase.deleteOlderData(laterId);
sqLiteDatabase.deleteInactive(laterId);
sqLiteDatabase.updateEmployee(laterId, "Inactive");*/
//Toast.makeText(context, "Alarm Triggered and SMS Sent", Toast.LENGTH_LONG).show();
}
}
こんにちは、コードスニペットをご覧になれますか? –
コードをアップロードしますか? –
はい...スケジュールコードを含む部分だけ –