2010-11-11 13 views

cevap

25

"Yeni resim kaynakları"?

Resim kaynakları, .apk uygulama paketinizin içindeki/res/drawable klasörünün bir parçasıdır. Çalışma zamanı sırasında "yeni" resim kaynaklarını ekleyemezsiniz.

Aklında olan başka bir kullanım durumu var mı?

Düzenlendi afişler açıklama sonrası:

Sen galeri gereci tarafından görülebilir amacıyla Medya Store medya dosyalarını eklemek zorunda. MediaScanner'ı kullanın. Benim kodunda bu uygun sarmalayıcı kullanın:

public class MediaScannerWrapper implements 
MediaScannerConnection.MediaScannerConnectionClient { 
    private MediaScannerConnection mConnection; 
    private String mPath; 
    private String mMimeType; 

    // filePath - where to scan; 
    // mime type of media to scan i.e. "image/jpeg". 
    // use "*/*" for any media 
    public MediaScannerWrapper(Context ctx, String filePath, String mime){ 
     mPath = filePath; 
     mMimeType = mime; 
     mConnection = new MediaScannerConnection(ctx, this); 
    } 

    // do the scanning 
    public void scan() { 
     mConnection.connect(); 
    } 

    // start the scan when scanner is ready 
    public void onMediaScannerConnected() { 
     mConnection.scanFile(mPath, mMimeType); 
     Log.w("MediaScannerWrapper", "media file scanned: " + mPath); 
    } 

    public void onScanCompleted(String path, Uri uri) { 
     // when scan is completes, update media file tags 
    } 
} 

Sonra MediaScannerWrapper örneğini ve scan() ile başlayın. O anda birden fazla dosya işlemek için çimdik olabilir. İpucu: Dosya yollarının listesini geçirin ve ardından mConnection.scanFile'u çevirin. MediaStore Content Provider için

+0

Evet, dış depolamada saklanan resimlerden bahsediyorum. – eyecreate

+0

Peki, bu nasıl görüntülenecek bir galeri widget'ına bağlanıyor? – eyecreate

+0

Galeri küçük aracı, Medya Deposuna eklenen tüm dosyaları görüntüler. –

1

Gönder yayın KitKat'a önce cihazlar için çalışmak bir dosyayı

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(imageAdded))); 

eklemek

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, 
       Uri.parse("file://"+ Environment.getExternalStorageDirectory()))); 

Ayrıca, Lolipop Çalışma this

bir göz ve ayrıca kitkat sorunlarını çözmeli.

İzin Verme.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
İlgili konular