我的A类调用了startActivityForResult:A类是TabActivity中一个选项卡的ActivityGroup。
Intent intent = new Intent(this, ClassB.class);
startActivityForResult(intent, "STRING");
ClassB是一种常见的活动,不属于tabactivity,它是独立的。
Intent intent = this.getIntent();
intent.putExtra("SOMETHING", "EXTRAS");
this.setResult(RESULT_OK, intent);
finish();
在Class A中,onActivityResult没有收到任何内容,也没有执行。如果我将Class A放在TabActivity之外,我的应用程序就可以正常运行。我已经阅读了以下链接,但没有解决我的问题:如何为包含选项卡活动的TabActivity设置setResult()和如何从TabHost Activity返回结果(startActivityForResult)。请问有人能给一些建议吗?最好附带代码,谢谢。
编辑: 在Class A中我添加了:
public class UpdateImageBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("temp","34353");
}
}
/* (non-Javadoc)
* @see android.app.Activity#onPause()
*/
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
unregisterReceiver(updateImageBroadcastReceiver);
}
/* (non-Javadoc)
* @see android.app.Activity#onResume()
*/
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
updateImageFilter = new IntentFilter("ACTION_CHANGE_TAB");
updateImageBroadcastReceiver = new UpdateImageBroadcastReceiver();
registerReceiver(updateImageBroadcastReceiver, updateImageFilter);
}
在B类中:
Intent intent = new Intent("ACTION_CHANGE_TAB");
intent.putExtra("path", f.getAbsolutePath());
sendBroadcast(intent);
// FileListSelectActivity.this.setResult(RESULT_OK, intent);
finish();
但我无法打印:Log.i("temp","34353");