Tôi đang sử dụng Mục đích để cho phép người dùng chọn tệp và sau khi người dùng đã thực hiện điều đó, tôi muốn biết loại tệp được chọn là tệp nào.ACTION_GET_CONTENT: Cách nhận tệp kết thúc khi tìm kiếm nhiều loại tệp?
Mục đích:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
Trong onActivityResult của tôi, tôi muốn trích xuất các đường đi từ mục đích thông qua intent.getData() và tất cả đó là "submethods" (getScheme(), getLastPathSegment() vv). Tuy nhiên, tôi chỉ nhận được Uri cho tập tin được chọn.
Ví dụ về URI:
Uri: content://media/external/audio/media/15185 //This is an audiofile
Uri: content://media/external/audio/media/20 //Another audiofile
Uri: content://media/external/images/media/20577 //this is a picture
Uri: file:///storage/emulated/0/testWed%20Apr%2017%2011%3A10%3A34%20CEST%202013 //This is a file
Tôi đã nhìn thấy các giải pháp như thế nào để có được những đường dẫn tuyệt đối khi người dùng chỉ được phép chọn hình ảnh hoặc âm thanh. Nhưng làm cách nào để tôi nhận được absolutePath (đường dẫn thực sự có tên và đuôi tệp, ví dụ: MyPicture.jpeg) nếu tôi muốn cho phép người dùng chọn từ các loại tệp khác nhau?
Mã Tôi đã twiggling với thử để có được những con đường có tên tuổi trong onActivityResult (int requestCode, int resultCode
String fileName = data.getData().getLastPathSegment().toString();
System.out.println("Uri: " +data.getData().toString());
File f = new File(fileName);
System.out.println("TrYinG wIWThA Da FiLE: " +f.getAbsolutePath());
System.out.println("FileNAME!!!: "+fileName);