【发布时间】:2016-06-07 10:00:54
【问题描述】:
我正在尝试在活动被破坏时设置警报。但它不起作用。如果我在活动停止时设置警报,它正在工作。但是对于破坏方法,它是行不通的。我不知道我是错过了什么还是什么?如果可能的话,如何在活动被破坏时设置警报?
以下是我的代码:
@Override
protected void onDestroy() {
databaseHandler.updatePreference(Keys.Pref.APP_CRASH_STATUS, "TRUE");
setAlarmToOpenApp();
super.onDestroy();
}
private void setAlarmToOpenApp(){
Intent alarmIntent = new Intent(ActivityDisplay.this, AppCrashReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(ActivityDisplay.this, 0, alarmIntent, 0);
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
int interval = 10000;
manager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 10000, pendingIntent);
Display.log(TAG, "Alarm is set to Broadcast app crash");
}
【问题讨论】:
-
嗯。也许这在Service 中实现会更好,因为
onDestroy可能不会被调用。此外,您的 Activity 已被销毁,因此不可用(null)。 -
@Amylinn 我的应用程序被销毁时是否可以发送广播?
-
@Amylinn 是的,我们可以通过该方法检查活动状态。但我试图设置警报。
-
这不仅仅是关于状态。服务有它自己的上下文,你可以用它来代替吗?
标签: android android-activity alarmmanager