Android-通过发送已经运行的进程到后台来启动activity



我有一个后台服务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

最新更新