Как получить имя файла от намерения?

Это мой файл манифеста. После использования фильтра намерения я загружаю файл ics из почтового вложения. Когда я открываю загруженный файл, он запускает мое приложение. Мне нужно получить имя файла и данные выбранного файла в моем приложении. Что я должен делать в манифесте и файле java. Я очень новичок в андроиде, может кто-нибудь мне помочь????

<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>

Ответы

Ответ 1

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

Имя строки будет содержать выбранный путь к файлу, с этого пути вы можете прочитать свой файл

Ответ 2

Обратите внимание, что

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

предоставляет закодированную строку, например. пробел в имени файла кодируется как "%20". Если вы хотите открыть файл, вы должны использовать

intent.getData().getPath()

вместо.

Ответ 3

Вы можете получить имя файла, используя aim.getData().

Ответ 4

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