gpt4 book ai didi

具有 Intent 操作的 Android Activity 。SEND 获取无法打开的 uri?

转载 作者:行者123 更新时间:2023-11-29 18:02:09 25 4
gpt4 key购买 nike

Activity 定义为:

    <activity android:name="com.tralev.android.UploadFromCameraAppActivity" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>

UploadFromCameraAppActivity 正在尝试获取 URI:

Uri uri = (Uri) extras.getParcelable(Intent.EXTRA_STREAM);
String filename = uri.getPath();

但是当试图打开那个文件名时我得到异常:

03-12 23:10:30.787: W/System.err(9840): java.io.FileNotFoundException:/external/images/media/2437: 打开失败:ENOENT(没有这样的文件或目录)

注意:这发生在我用来测试的 Nexus 7 上。

已解决:这个问题是用

解决的
public String getRealPathFromURI(Uri contentUri) {
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}

最佳答案

这个问题是用

解决的
  public String getRealPathFromURI(Uri contentUri) {
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}

关于具有 Intent 操作的 Android Activity 。SEND 获取无法打开的 uri?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15373459/

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