我知道有很多相同的问题,但仍未调用OnActivityResult。
这是我的代码
活动A:
Intent i = new Intent();
Bundle b = new Bundle();
b.putString(ActivityB.LINK, ad.getLink());
i.putExtras(b);
i.setClass(this, ActivityB.class);
startActivityForResult(i, 0);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
/*handling of result...*/
super.onActivityResult(requestCode, resultCode, data);
}
活动B:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.ad_video);
Bundle b = this.getIntent().getExtras();
setResult(0);
link = b.getString(LINK);
videoView = (VideoView) findViewById(R.id.surface_view);
videoView.setVideoPath(_link);
videoView.requestFocus();
videoView.start();
videoView.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mp)
{
setResult(0);
ActivityB.this.finish();
}
});
}
无论我做什么,OnActivityResult
永远不会被召唤。
基于其他问题
我把setResult的值设为> 0(0,99)
没有launchMode(我也试过放 launchMode to standard)
感谢您的帮助
答案 0 :(得分:1)
尝试向结果添加意图,此代码适用于我:
Intent in = new Intent();
setResult(101, in);
finish();
答案 1 :(得分:0)
尝试以下代码
Intent returnIntent = new Intent();
returnIntent.putExtra("ProfilePicPath", path);
setResult(RESULT_OK, returnIntent);
finish();
答案 2 :(得分:0)
好的我明白了, 主要问题是我从标签主机中调用了活动。我从包含选项卡的Activity(扩展TabActivity的选项)调用它,它可以工作。
所以简而言之,即使我将每个标签用作活动,但应该调用startActivityForResult的是扩展TabActivity的主要活动。
谢谢大家的帮助
答案 3 :(得分:0)
关于儿童活动,我在儿童活动中使用它
getParent().startActivityForResult(intent, positive_request_code);