我有两项活动Activity 1
和Activity 2
。我从Activity 2
开始Activity 1
,当Activity 2
完成后,Activity 1
将会恢复。但有时Activity 2
意外结束(它没有抛出任何异常),Activity 1
再次启动。在开始FLAGS
时,我应该为意图指定任何Activity 2
吗?
我使用以下代码创建Activity 2
:
Intent intent=new Intent(MainActivity.this, SyncService.class);
startActivity(intent);
我在Activity 2
中使用了很多线程。它会产生任何问题吗?
答案 0 :(得分:1)
使用以下命令启动Activity2:
Intent intent = new Intent(MainActivity.this, SyncService.class);
startActivityForResult(intent);
在Activity1中,覆盖:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//do your thing here
//this is called when Activity2 finishes
//see below
if (resultCode == RESULT_OK) {
}
else if (resultCode == RESULT_CANCELED) {
}
}
在Activity2中,当您准备完成时,请致电:
Intent resultIntent = new Intent();
//if you want, you can pass some data back to Activity1
resultIntent.putExtra("key", "value");
setResult(RESULT_OK, resultIntent);
finish();
将返回Activity2。
了解更多here。