这是场景:
AndroidManifest.xml 定义了一个带有android:launchMode="singleTask"
. (这意味着在整个应用程序生命周期中,堆栈中应该只有一个活动,对吧?)
在 期间Activity.onCreate()
,广播接收器以编程方式创建并侦听传入的 SMS。即使在Activity.onPause()
设计之后,接收器仍然保持活动状态。
当用户完成应用程序时,他按下调用设备的主页按钮,Activity.onPause()
应用程序消失。设备随即显示 Android 主屏幕。
收到短信后,广播接收器会收到短信并尝试通过以下方式显示活动:
Intent it = new Intent(context, Akami.class);
it.setAction(Intent.ACTION_MAIN);
it.addCategory(Intent.CATEGORY_LAUNCHER);
it.setComponent(new ComponentName(context.getPackageName(), "MyActivity"));
it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(it);
但是,该活动不会向用户显示。
- a) 为什么?
- b) 将 Activty 带到前台的可能方法是什么?