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

  • HSmasteryoda .

    HSmasteryoda

    22 Ocak 2010
  • Kenneth Håkonsen

    Kenneth Håk

    13 Mart 2011
  • WOSU Public Media

    WOSU Public

    23 AĞUSTOS 2007

İLGİLİ SORU / CEVAPLAR