如何从意图中获取文件名?

时间:2010-06-04 06:08:49

标签: android android-intent intentfilter

这是我的清单文件。使用意图过滤器后,我从邮件附件下载ics文件。当我打开下载的文件时,它启动我的应用程序。我需要在我的应用程序中获取所选文件的文件名和数据。我应该在清单和java文件中做什么。我是非常新的android可以任何人帮助我????

<application android:label="@string/app_name" android:icon="@drawable/icsicon">
    <activity android:name=".setMIMEfile" android:label="@string/app_name">
     <intent-filter>
         <action android:name="android.intent.action.VIEW" />
         <category android:name="android.intent.category.DEFAULT" />
         <data android:mimeType="*/*" />
        <data android:pathPattern=".*\\.ics" />    
     </intent-filter>
</activity>

4 个答案:

答案 0 :(得分:27)

Intent intent = getIntent();                
String name = intent.getData().getPath();

字符串名称将包含您选择的文件路径,从该路径可以读取文件

答案 1 :(得分:12)

请注意

Intent intent = getIntent();
String name = intent.getData().getEncodedPath();

为您提供编码字符串,例如文件名中的空格编码为“%20”。如果要打开文件,则必须使用

intent.getData().getPath()

代替。

答案 2 :(得分:1)

您可以使用intent.getData()获取文件名。

答案 3 :(得分:1)

Intent intent = getIntent();
String name = intent.getData().getLastPathSegment();