Tôi có mục đích sau:Intent.ACTION_GET_CONTENT với Google Drive
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("text/*");
startActivityForResult(intent, DBOpenHelper.REQUEST_CODE_RESTORE);
Mục đích cho phép người dùng lựa chọn một tập tin văn bản từ một số tùy chọn. Nó hoạt động tốt với local storage và Dropbox ví dụ, và trong cả hai trường hợp tôi có thể nhận được các tập tin từ như sau:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if ((requestCode == DBOpenHelper.REQUEST_CODE_RESTORE)
&& (resultCode == Activity.RESULT_OK)) {
restoreFile = new File(data.getData().getPath());
restoreFileName = restoreFile.getName();
}
}
lưu trữ địa phương hoạt động tốt và Dropbox sẽ sao chép một bản sao cục bộ của các tập tin vào thẻ SD và trả lại đường dẫn chính xác. Vấn đề là nếu người dùng chọn tệp từ Google Drive. Khi họ sử dụng Google Drive, data.getData(). GetPath() trả về một cái gì đó như: "/ document/acc = 1; doc = 195" thay vì trả về đường dẫn đến tệp được lưu trữ cục bộ. Làm cách nào để Google Drive tải xuống tệp và trả lại đường dẫn? Tôi muốn cho phép người dùng chọn từ bất kỳ tùy chọn lưu trữ tệp nào mà họ có sẵn.
Cảm ơn bạn! Điều này dễ dàng hơn nhiều! – goodnoodle