我有一个应用程序,我必须每 30 分钟取消一次警报/通知。
我想要这样的功能
1-如果应用程序关闭,它会打开应用程序,调用一个对话框。点击它会调用一个 serverFunction,如果 MainActivity 正在运行,更新它的 UI。
2-如果应用程序已经打开,调用一个对话框。单击它会调用一个 serverFunction。由于 MainActivity 可能或可能不在顶部,请更新其 UI 或不。
在我的 MainActivity.class
private void callNotification()
{
AlarmManager service = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(this, AlarmReceiver.class);
PendingIntent pending = PendingIntent.getBroadcast(this, 0, i,PendingIntent.FLAG_CANCEL_CURRENT);
Calendar time = Calendar.getInstance();
time.setTimeInMillis(System.currentTimeMillis());
time.add(Calendar.SECOND, Constants.TIME_CONSTANT);
service.set(AlarmManager.RTC_WAKEUP ,time.getTimeInMillis(), pending);
}
public class AlarmReceiver extends BroadcastReceiver
{
@Override
public void onReceive(final Context context, Intent intent)
{
}
}
这里的问题是,我不能在 onReceive 中放置一个对话框,因为上下文不是 Activity 上下文。如果打开应用程序会怎样,现在我想如何实现上述功能。