Jeśli ktokolwiek może pomóc, byłbym naprawdę niesamowity. Buduję aplikację, w której próbuję uzyskać dostęp do moich plików i wyświetlić je w widoku obrazu.Widok pliku z Dysku Google Android Intent
mam przycisk i że mam dołączyć onClickListener
iButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT);
photoPickerIntent.setType("image/*");
startActivityForResult(Intent.createChooser(photoPickerIntent, "Select Picture"), 1);
}
});
Intencją daje mi 3 opcje Gallery, Dropbox i Dysk Google
Dla Galerii jestem w stanie uzyskać dostęp LIS plików to i wyświetlić go w ImageView
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
imageHolder.setImageBitmap(BitmapFactory.decodeFile(picturePath));
Dla Dropbox to zrobić jak ten
imageHolder.setImageBitmap(BitmapFactory.decodeFile(selectedImage.getPath()));
Jednak jestem pewien jak to zrobić na dysku Google I starał się zrobić to tak galerii, ale pojawia się następujący błąd
E/BitmapFactory: Nie można dekodować strumień: java.io.FileNotFoundException: /: open failed: EISDIR (Is a directory)
Każda pomoc byłaby bardzo doceniana.
Odkryłem tej pory: URI zwrócony jest w formacie: 'zawartość://com.google.android.apps.docs.files/exposed_content/ [base64-encoded-bytes] '. "[base64-encoded-bytes]" jest w rzeczywistości odwrotnym łańcuchem kodowanym przez adres URL, zakodowany w linii i paszy, np. '123 ...% 3D% 3D% 0A% 3B456 ...' powinno zostać zdekodowane na '456 ... 123 ... ==' Base64-dekodowanie '456 ... 123 ... ==' 64 bajty danych, ale nie mogę zrozumieć, czym są te bajty.Oto przykład uzyskanych 64-bajtowych, które mam: http://cl.ly/3Y2C1s0v3O0Q I nie ma większego sensu w HEX: http://goo.gl/7WV9K –
Czy wypróbowałeś którąkolwiek z oficjalnej dokumentacji ? https://developers.google.com/drive/integrate-android-ui – Darwind