将 运行 Android 应用置于前台

Bring A Running Android App to Foreground

我正在设计一个测试工具,它需要启动另一个应用程序,然后将我正在处理的 activity 带回前台。 我一直在尝试使用接收器来解决这个问题,但到目前为止还没有成功。 任何建议将不胜感激。

如果你不想做任何特别的事情,而不仅仅是 添加一个 post 作业(有一些延迟)到您当前的处理程序并发送一个 Intent 以启动您的 Activity 并将标志带到前台。

说明示例:

    /*
    * Your code to launch the 3rd party app
     */
    Handler handler=new Handler();
    handler.postDelayed(new Runnable(){
        public void run() {
            Intent openMe = new Intent(getApplicationContext(), MyActivity.class);
            openMe.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); //experiment with the flags
            startActivity(openMe);
        }}, 3000);

正如文档所说,也许你应该使用 FLAG_ACTIVITY_REORDER_TO_FRONT

您还可以将信息存储在 Intent 中,以便稍后检索并重建您的屏幕。

示例:

intent.putExtra("someStringAsIdentifier", someInformationObject);

在你的内部 new activity 在 onCreate 你做了:

Intent i = getIntent();
Bundle extras = i.getExtras();
if(extras != null){
    informationObject = extras.getExtra("someStringAsIdentifier");
}

有关详细信息,请参阅 Intent 文档。 :)