SORU
1 AĞUSTOS 2012, ÇARŞAMBA


Picasa//Google senkronize klasörler Galeri'den bir görüntü elde değil't iş

Google senkronize fotoğrafları klasörlerinden birinden Galeri uygulamasından bir görüntü elde etmeye çalışıyorum. Görüntü seçildikten sonra, Uri düzgün geçti geri dönüyor. Ama bunun benim için bir depolama aygıtı üzerinde bu resmin gerçek yol almaya çalıştığımda çöküyor. Sorun özellikle görünüyoriçerik sağlayıcı picasa.

Nexus S üzerinde test edilmiş ve 7, ve diğer cihazlar da Nexus.

E/AndroidRuntime(14572): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { dat=content://com.google.android.gallery3d.provider/picasa/item/5427003652908228690 }}

Burada, dat alanı doğru Urı geçiyor gibi görünüyor, ama görüntünün yerini almaya çalıştığımda aşağıdaki hata ile çöküyor.

W/GalleryProvider(14381): unsupported column: _data

Görünen Picasa albümleri için içerik sağlayıcı _data bir alan yok.

Yerini almak için kod

// imageUri is the Uri from above.
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = context.getContentResolver().query(imageUri, proj,null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();

String filePath = cursor.getString(column_index);
cursor.close();

Bu görüntü için desteklenen gibi görünüyor, sütunları: [user_account, picasa_id, _display_name, _size, mime_type, datetaken, enlem, boylam, yön]

Nasıl bu resmin gerçek konuma ulaşacağız. Ve eğer bu görüntü ile çalışmak gerekiyorbu görüntüler ilk etapta kullanıcıya gösterilen olmamalı.

Galeri uygulamasını başlatmak için Niyet

Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);

CEVAP
13 Ocak 2014, PAZARTESİ


Şimdi saat var ve şimdi özel konuları falan herhangi bir sihirli indirirken tüm durumlarda işleyen bir çözüm buldum harcadım. Aşağıdaki yöntemi kullanıcı seçilen ve bu vahşi doğada her şey ile çalışır, içerik akışı verir.

FileInputStream getSourceStream(Uri u) throws FileNotFoundException {
    FileInputStream out = null;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        ParcelFileDescriptor parcelFileDescriptor =
                mContext.getContentResolver().openFileDescriptor(u, "r");
        FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor();
        out = new FileInputStream(fileDescriptor);
    } else {
        out = (FileInputStream) mContext.getContentResolver().openInputStream(u);
    }
    return out;
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Android Developers

    Android Deve

    9 Kasım 2007
  • KliptOut KwazeeKilla

    KliptOut Kwa

    24 ŞUBAT 2010
  • The Verge

    The Verge

    8 AĞUSTOS 2006

İLGİLİ SORU / CEVAPLAR