android-sdk-doc中写得很清楚:
public void finishActivity (int requestCode)
Force finish another activity that you had previously started with startActivityForResult(Intent, int).
Parameters
requestCode The request code of the activity that you had given to startActivityForResult(). If there are multiple activities started with this request code, they will all be finished.
就是finishActivity可以关闭通过startActivityForResult启动的另一个activity或一组activity。
但是经过试验,这个方法并不起效:
[code="java"]
Intent intent = new Intent(mainActivity.this, ActivityA.class);
startActivityForResult(intent, 1);[/code]
[code="java"]public class ActivityA extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a);
Button activity_a_btn = (Button)findViewById(R.id.activity_a_btn);
activity_a_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ActivityA.this.finishActivity(1);
}
});
}
}[/code]
在ActivityA中点击按钮,并没有关闭ActivityA。这是android的一个bug?