【发布时间】:2013-03-13 07:28:46
【问题描述】:
在 Android 中要终止一个 Activity,您只需使用 finish()。但就我而言,我想在PendingIntent 被触发时终止该活动。
我的代码如下:
Intent intent = new Intent(MainActivity.this, NextActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(Utils.KEY_RECORD_TIME, recordLength);
PendingIntent pintent = PendingIntent.getActivity(MainActivity.this,
piNumber, intent, 0);
AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pintent);
如果我在下面添加finish(),则活动将在AlarmManager中设置的时间之前被杀死。
我希望活动在时间结束之前一直可见并将其终止。有没有办法做到这一点?我在 Stack Overflow、Google 中进行了一些搜索,但找不到答案。
【问题讨论】:
-
解释你的
Activity做了什么。您可能不应该使用AlarmManager,而且您也无法控制用户使用BACK按钮完成Activity。 -
如果您想在特定时间完成活动,请调用计时器任务。并在其中调用完成。
-
@Squonk 我必须在特定时间(例如 12h00、13h00、15h00,...)捕获视频。当应用程序捕获视频 2 分钟时,我希望它返回到预览活动(MainActivity.java)。我不愿意先使用 AlarmManager,但经过几天和几天的研究,我意识到我别无选择。如果您知道更好的方法,请分享。
-
@SREEJITH 谢谢!这是我没有想到的一种方式。
标签: android android-activity alarmmanager android-pendingintent