2012-05-05 36 views
8

Tôi muốn bắt đầu một người cố ý có thể trả về bất kỳ loại tệp nào. Đoạn mã sau hoạt động với các trình khám phá tệp thông thường (ES, Astro, v.v.) nhưng không hoạt động với trình khám phá tệp My Files tích hợp sẵn.Trình khám phá tập tin của Samsung của tôi: Chọn tập tin Intent

Intent selectFile = new Intent(Intent.ACTION_GET_CONTENT); 
selectFile.setType("file/*"); 
startActivityForResult(Intent.createChooser(selectFile, "Select File"), SELECT_FILE); 

Có ai biết cách xử lý trình thám hiểm samsung đó không? Tôi đã cố gắng sử dụng Intent selectFile = new Intent ("com.sec.android.app.myfiles.PICK_DATA") nhưng nó dường như không hoạt động.

Bất kỳ ý tưởng nào? Cảm ơn.

Cập nhật: tôi đã sử dụng mã này

Intent selectFile = new Intent(); 
selectFile.setAction("com.sec.android.app.myfiles.PICK_DATA"); 
startActivityForResult(selectFile, SELECT_FILE); 

nhưng tôi nhận được lỗi này: FORWARD_RESULT_FLAG sử dụng đồng thời cũng yêu cầu một kết quả. Bất cứ ai biết điều này có nghĩa là gì?

+0

Tôi không biết rằng 'tệp /' là tiền tố loại MIME hợp lệ, cho * bất kỳ loại * MIME nào. Vui lòng xem xét '*/*'. – CommonsWare

+0

Nếu tôi thay đổi thành '*/*' Tôi cũng có thể xem Danh bạ, Nhạc, v.v. nhưng tôi muốn chỉ hiển thị những người khám phá tệp. Tuy nhiên, với '*/*' bạn không thể thấy ý định của My Files. Tôi phải chọn mục đích tập tin của tôi bằng cách nào đó bằng tay. – MScott

+0

"Tôi muốn chỉ hiển thị những người khám phá tệp" - điều đó thật tuyệt, nhưng tôi sẽ không tính vào tất cả "người khám phá tệp" hỗ trợ 'tệp/*'. Có lẽ hàng trăm người không, kể cả của Samsung. Tôi đề nghị bạn giải quyết vấn đề theo cách khác. – CommonsWare

Trả lời

1
Intent samsungIntent = new Intent(); 
samsungIntent.setAction("com.sec.android.app.myfiles.PICK_DATA"); 
samsungIntent.putExtra("CONTENT_TYPE", "*/*"); 

Thay đổi từ setType thành putExtra.

Các vấn đề liên quan