我有一个后台服务BGService
,当某些事件发生时,它显示一个活动BGServActivity
。我已经覆盖onBackPressed完成显示的活动BGServActivity
。
假设当前正在显示应用程序App_XYZ
的UI。我的业务BGService
被该事件触发,显示BGServActivity
。当我按回它关闭当前活动BGServActivity
和显示以前的UI从应用程序App_XYZ
。
但是我想从App_XYZ
的UI被发送到后台,当我从我的BGService
启动BGServActivity
。
我的问题是
是否有任何特殊的标志或我可以做的事情来发送以前显示的UI从另一个活动发送到后台从我的服务BGService
启动我的BGServActivity
.
如果你想在Activity关闭时强制用户进入主界面,你可以这样做:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
我不建议这样做。关闭活动时的标准行为应该是返回到先前查看的活动。
我想我有办法了。
首先显示主屏幕作为goto10的解决方案
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
然后打开我的活动BGServActivity
Intent i = new Intent();
i.setClass(getBaseContext(), BGServActivity.class);
Bundle b = new Bundle();
b.putBoolean("IS_FROM_SERVICE", true);
//add extras
i.putExtras(b);
startActivity(i);
和它的工作…: D