我正在设计一个测试工具,需要启动另一个应用程序,然后将我正在处理的活动恢复到前台。 我一直试图用接收器来解决这个问题,但到目前为止还没有运气。 任何建议都将非常感激。
答案 0 :(得分:2)
如果你不想做任何特别的事情,那就不仅仅是 添加一个帖子作业(有一些延迟)到你当前的处理程序并发送一个Intent来启动你的活动,标志带到前台。
澄清的例子:
/*
* 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);
你在onCreate中的新活动:
Intent i = getIntent();
Bundle extras = i.getExtras();
if(extras != null){
informationObject = extras.getExtra("someStringAsIdentifier");
}
有关详细信息,请参阅Intent的文档。 :)