如何通过Android发送接收文件

时间:2013-01-18 00:47:31

标签: android android-intent send

我的表现如下:

<activity android:name="SendLauncherActivity" >
    <intent-filter>
        <action android:name="android.intent.action.SEND_MULTIPLE" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="*/*" />
    </intent-filter>
</activity>

我想得到每个文件的路径 所以我的代码如下:

Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();

ArrayList<Uri> imageUris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
if (imageUris != null) {
    for(int i = 0; i < imageUris.size();i++) {
    System.out.println("Path " + imageUris.get(i).getPath());
    }
}

但我得到的路径如下:

01-17 18:21:13.350: I/System.out(20564): Path /external/file/15406

如何修改以获取实际文件路径?

1 个答案:

答案 0 :(得分:2)

可能没有“实际文件路径”。

如果你看,你的方案可能是content://。这是由ContentProvider提供的数据。没有文件。

您可以使用ContentResolver为此InputStream获取Uri,无论是文件还是正在向您投放的其他内容。