Android intent onActivityResult不';我没打电话

Android intent onActivityResult不';我没打电话,android-intent,android-activity,Android Intent,Android Activity,我正在做一个活动,它开始了第二个活动。然后从该活动接收回一个字符串。尽管第二个活动启动并创建了一个新的意图来发回字符串数据。OnActivityResult未在第一个活动中调用。我检查了类似的问题,但没有帮助。第二次活动调用finish()后活动周期阻塞 logcat打印此行: "done with enterClicked().. going to onactivityresult" 但不是这一行: "Entered onActivityResult()" 关于第一项活动: static

我正在做一个活动,它开始了第二个活动。然后从该活动接收回一个字符串。尽管第二个活动启动并创建了一个新的意图来发回字符串数据。OnActivityResult未在第一个活动中调用。我检查了类似的问题,但没有帮助。第二次活动调用finish()后活动周期阻塞

logcat打印此行:

"done with enterClicked().. going to onactivityresult"
但不是这一行:

"Entered onActivityResult()"
关于第一项活动:

 static private final int GET_TEXT_REQUEST_CODE = 1;

...
 Intent explicitIntent = new Intent(this, ExplicitlyLoadedActivity.class);
 startActivityForResult(explicitIntent,GET_TEXT_REQUEST_CODE);
关于第二项活动:

String input=mEditText.getText().toString();

        Intent explicitly=new Intent(ExplicitlyLoadedActivity.this, ActivityLoaderActivity.class);
        explicitly.putExtra("mydata",input);


        setResult(RESULT_OK,explicitly);
        startActivity(explicitly);
        finish();
        Log.i(TAG,"done with enterClicked().. going to onactivityresult");
第一个活动的onActivityResult:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        Log.i(TAG, "Entered onActivityResult()");

        // TODO - Process the result only if this method received both a
     if(requestCode==GET_TEXT_REQUEST_CODE){


        if (resultCode == RESULT_OK) {
            Log.i(TAG, "Entered resultcode ok case()");

            Bundle extras=getIntent().getExtras();
            String weneed = extras.getString("mydata");

            mUserTextView.setText(""+ weneed);


        }
    }
    }

此代码中存在问题:

String input=mEditText.getText().toString();

        Intent explicitly=new Intent(ExplicitlyLoadedActivity.this, ActivityLoaderActivity.class);
        explicitly.putExtra("mydata",input);


        setResult(RESULT_OK,explicitly);
        startActivity(explicitly);
        finish();
        Log.i(TAG,"done with enterClicked().. going to onactivityresult");
在第二个活动中,您只需这样做--

不要指定任何参数,也不要调用
startActivity()
,只需设置结果并完成第二个活动。 出错的是,您正在通过代码再次启动第一个活动。没有给安卓操作系统任何机会发挥自己的作用。这就是你的onActivityResult没有被调用的原因

Intent explicitly=new Intent();