我有后台服务BGService
,当某些事件发生时,它会显示活动BGServActivity
。我已覆盖onBackPressed以完成显示的活动BGServActivity
。
假设,应用程序App_XYZ
的UI当前正在显示。我的服务BGService
由事件触发,并显示BGServActivity
。当我按下它时会关闭当前活动BGServActivity
并显示应用程序App_XYZ
中的上一个UI。
但是,当我从App_XYZ
开始BGServActivity
时,我希望将BGService
的用户界面发送到后台。
我的问题是
在从我的服务BGServActivity
开始我的BGService
之前,是否有任何特殊标记或某些内容可以将之前显示的用户界面从其他活动发送到后台发送给他们。
答案 0 :(得分:2)
如果您想在活动结束时强制用户转到主屏幕,您可以执行以下操作:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
我建议不要这样做。关闭活动时的标准行为应该是返回先前查看的活动。
答案 1 :(得分:0)
我想我得到了解决方案。
首先将HOME屏幕显示为goto10's solution
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