Android中的活动中出现意外行为

时间:2013-12-09 14:19:51

标签: android android-intent android-activity intentfilter

我有两项活动Activity 1Activity 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中使用了很多线程。它会产生任何问题吗?

1 个答案:

答案 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