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

  • 3DS Max Tutorials

    3DS Max Tuto

    4 AĞUSTOS 2013
  • AmeriiK_HD

    AmeriiK_HD

    16 AĞUSTOS 2012
  • Bad Lip Reading

    Bad Lip Read

    22 Mart 2011

İLGİLİ SORU / CEVAPLAR