gpt4 book ai didi

android - onActivityResult 是如何使用的?

转载 作者:行者123 更新时间:2023-11-29 13:59:44 25 4
gpt4 key购买 nike

以下是我的代码:

    if(v.getId() == R.id.button2)
{
Intent wpIntent = new Intent();
wpIntent.setType("image/*");
wpIntent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(wpIntent, "Select Picture"), SELECT_PICTURE);
}
}

public void onActivityResult(int resultCode, int requestCode, Intent data)
{
if(resultCode == RESULT_OK)
{
if(requestCode == SELECT_PICTURE)
{
Uri selectedImage = data.getData();
selectedImagePath = getPath(selectedImage);
Toast.makeText(this, ""+selectedImagePath, Toast.LENGTH_SHORT).show();
}
}
}

private String getPath(Uri selectedImage)
{
String[] proj = {MediaStore.Images.Media.DATA};
cursor = managedQuery(selectedImage, proj, null, null, null);
int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(columnIndex);
}

这张图有什么问题吗? onActivityResult 中的 Toast 未显示,这意味着它无法正常工作。

我在这里做错了什么?

编辑: 我添加了更多检查,结果发现 if(resultCode == RESULT_OK) 没有返回 true。为什么会这样?

编辑 2 这很奇怪。删除两个“if”语句会使程序正常运行。生成了正确的图像 Uri,整个过程都很好。我仍然不明白为什么“if”语句会返回 false。

最佳答案

默认情况下,如果您未在 Intent 中指定返回结果代码,图库不会返回结果代码。您可以通过在代码中添加此代码段来指定返回结果代码的 Intent ,如下所示:

Intent wpIntent = new Intent();
wpIntent.setType("image/*");
wpIntent.setAction(Intent.ACTION_GET_CONTENT);
wpIntent.putExtra("return-data", true); //added snippet
startActivityForResult(Intent.createChooser(wpIntent, "Select Picture"),SELECT_PICTURE);

关于android - onActivityResult 是如何使用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10064381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com