Calendar calendar = Calendar.getInstance();
Intent myIntent = new Intent(CubeActivity.this, MyReciever.class);
SharedPreferences shared = getApplicationContext().getSharedPreferences("notification5", getApplicationContext().MODE_PRIVATE);
SharedPreferences.Editor editor = shared.edit();
editor.putInt("minutes", (calendar.get(Calendar.HOUR_OF_DAY))-1);
editor.commit();
myIntent.putExtra("minutes", (shared.getInt("minutes", 0)));
PendingIntent pendingIntent = PendingIntent.getBroadcast(CubeActivity.this, 0, myIntent,0);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP,shared.getInt("minutes", 0), pendingIntent);
0
A
cevap
0
için düzgün çalışmıyor. Ancak, tetikleme süresi, alarmın sönmesi gereken milisaniye cinsinden olmalıdır. API Docs göre
:
public void seti (int tipi, uzun triggerAtMillis, PendingIntent işlemi)
tipi int: ELAPSED_REALTIME, ELAPSED_REALTIME_WAKEUP, RTC veya RTC_WAKEUP biri.
triggerAtMillis uzun: Alarmın, uygun saati kullanarak (alarm tipine bağlı olarak) bitmesi gereken milisaniye cinsinden süre.
operation PendingIntent: Alarm çaldığında yapılması gereken işlem; genellikle IntentSender.getBroadcast() gelir. Bunun yerine kodunun altına
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); alarmManager.set(AlarmManager.RTC_WAKEUP,shared.getInt("minutes", 0), pendingIntent);
kullanın kullanmanın
0
:
long TICK_TIME = 60*1000; //the time to trigger alarm manager rite now its 1 minute
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP,Calendar.getInstance().getTimeInMillis(), TICK_TIME, pendingIntent);
düzgün sorunuzu açıklayın. –
Alarm yöneticisi .set() yöntemini kullanarak, bazı bildirimler 24 saat sonra gelir ve bundan sonra kikat ve lolipop telefonlarda düzensiz olarak gelir. – kk2004
API 19'dan başlayarak, bu yönteme aktarılan tetikleme zamanı hatalı olarak değerlendirilir. Bunu okuyun: //developer.android.com/reference/android/app/AlarmManager.html#set (int, uzun, android.app.PendingIntent) –