我有一个启动器风格的应用程序。用户启动应用程序后,时钟开始计时,经过一段时间后,用户将返回应用程序的主要活动,并通知时间已到。
为了达到这个目的,我有一个AsyncTask,其doInBackground定期检查已经过了多长时间(这部分工作正常)。然后:
protected void onPostExecute(String s) {
super.onPostExecute(s);
Intent intent = new Intent(getApplicationContext(), HomeScreenMain.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
}
唯一的问题是它将我的应用程序保留在后台,尽管我认为启动了正确的活动。所以我的问题是,当时间到期时,我不仅可以开始此活动,还可以将其置于用户可能已从我的应用中启动的任何应用程序的前台?
答案 0 :(得分:0)
使用以下内容替换原始代码:
protected void onPostExecute(String s) {
super.onPostExecute(s);
Intent intent = new Intent();
intent.setClass(HomeScreenMain.this, HomeScreenMain.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(intent);
}
诀窍。