2010-06-04 33 views
13

Đây là tệp kê khai của tôi. Sau khi sử dụng bộ lọc ý định, tôi tải xuống tệp ics từ tệp đính kèm thư. Khi tôi mở tập tin đã tải xuống, nó sẽ khởi động ứng dụng của tôi. Tôi cần lấy tên tệp và dữ liệu của tệp đã chọn trong ứng dụng của mình. Tôi nên làm gì trong tệp kê khai và tệp java. Tôi rất mới cho android có thể bất kỳ một giúp tôi?Cách lấy tên tệp từ mục đích?

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

Trả lời

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

tên Chuỗi sẽ chứa đường dẫn tập tin mà bạn đã chọn từ đường dẫn mà bạn có thể đọc tập tin của bạn

+0

Tôi nên làm gì trong tệp kê khai để nhận tệp của tất cả các loại? –

1

Bạn có thể lấy tên tệp bằng intent.getData().

+0

cách cấp cho người dùng quyền truy cập tệp trong ngày chính? và cách lấy tên tệp – Sumithran

+0

Cảm ơn bạn đã phản hồi.Tôi đã nhận đường dẫn tệp – Sumithran

12

Lưu ý rằng

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

mang đến cho bạn một chuỗi mã hóa, ví dụ một không gian trong tên tệp được mã hóa là "% 20". Nếu bạn muốn mở tệp, bạn phải sử dụng

intent.getData().getPath() 

để thay thế.

1
Intent intent = getIntent(); 
String name = intent.getData().getLastPathSegment(); 
Các vấn đề liên quan