在我的Android应用程序中,我提供了图像共享功能。现在,我希望在完成当前活动的图像共享功能后,应将用户重定向到HomeActivity。为此,我的代码中有用户onActivityResult()
方法。但问题是,它总是返回0,因此它不会启动HomeActivity。我去了很多帖但却无法得到解决方案。请帮我解决这个问题。
感谢。
CurrentActivity代码:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
try {
switch (requestCode) {
case SHARE_PIC:
//The following condition is not satisfied while debugging.
if (resultCode == Activity.RESULT_OK) {
GlobalClass.finalPath = null;
FaceFrameActivity_temp.this.finish();
Intent in = new Intent(FaceFrameActivity_temp.this,
HomeActivity.class);
in.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(in);
GlobalClass.finalPath = null;
}
break;
}
} catch (Exception ex) {
ex.printStackTrace();
}
//Button click will handle sharing functionality.
btnOk.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (txtFile.getText().toString().trim().length() > 0) {
if (GlobalClass.finalPath == null) {
finalBitmap = FaceFrameActivity_temp.this.frmView
.getDrawingCache();
SaveToSDcard(finalBitmap, txtFile.getText()
.toString());
}
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/*");
share.putExtra(Intent.EXTRA_STREAM, Uri
.fromFile(new File(GlobalClass.finalPath)));
FaceFrameActivity_temp.this.startActivityForResult(
Intent.createChooser(share, "Share via"),
SHARE_PIC); //SHARE_PIC = 3
}
}
});
从currentActivity,我已经打开了Intent来共享图像。当图像共享完成并且用户返回应用程序时,那时我想打开Home活动。问题是,它不执行我的currentActivity的onActivityResult()
代码。
答案 0 :(得分:1)
您可以设置从回归到第二个活动到家庭活动的价值。
像这样Intent result = new Intent();
result.putExtra("ARTICLE", main_String);
setResult(101, result);
finish();
在家庭活动中设置这样的条件。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch(resultCode){
case 101:
// your condition.....
break;
case 102:
// your condition.....
break;
case 103:
// your condition.....
break;
}
}
答案 1 :(得分:0)
试试这样 像下面一样启动活动
v.getContext().startActivityForResult(Intent.createChooser(share, Intent.createChooser(share, "Share via"),
SHARE_PIC);
答案 2 :(得分:0)
我认为IntentChooser上的startActivityForResult不会起作用。 我将从another SO answer复制/过去:
这将无法可靠地运作。约99%的活动没有开始工作 使用startActivityForResult。