Android onActivityResult在拾取图像之前返回

Android onActivityResult在拾取图像之前返回,android,onactivityresult,Android,Onactivityresult,我需要使用onActivityResult拾取图像,但onActivityResult不会等待用户拾取 我试了一些不同的样品,没什么变化 以下是ActivityResult: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Log.i("

我需要使用onActivityResult拾取图像,但onActivityResult不会等待用户拾取

我试了一些不同的样品,没什么变化

以下是ActivityResult:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{
    super.onActivityResult(requestCode, resultCode, data);

    Log.i("onActivityResult", "onActivityResult started!");
    if (requestCode == 1 && resultCode == RESULT_OK && null != data) 
    {
        Uri selectedImage = data.getData();
        String[] filePathColumn = { MediaStore.Images.Media.DATA };

        Cursor cursor = getContentResolver().query(selectedImage,
                filePathColumn, null, null, null);
        cursor.moveToFirst();

        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
        String picturePath = cursor.getString(columnIndex);
        cursor.close();

        Log.i("onActivityResult", "onActivityResult");
        //ImageView imageView = (ImageView) findViewById(R.id.imgView);
        //imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));

    }
我是这样称呼的:

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    int id = item.getItemId();
    if (id == R.id.action_settings) 
    {
        //something
        return true;
    }
    else if (id == R.id.cikis) 
    {
        //something         
        return true;
    }
    else if ( id == R.id.background)
    {
        Log.i("background", "clicked to background!");

        Intent i = new Intent(
                Intent.ACTION_PICK,
                android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

        MainActivity.this.startActivityForResult(i, RESULT_LOAD_IMAGE);

        return true;
    }
    return super.onOptionsItemSelected(item);
}
我不明白为什么。我被困在这里了

解决了


我删除清单中的android:launchMode=“singleInstance”
(内部标记)行,这样它就可以正常工作了

如果不等待,则何时执行?