2008-10-23 24 views
16

Android API'da, cihaza yazıldığında yeni medyayı algılamak için herhangi bir yol var mı? Özellikle fotoğraf makinesinin çektiği fotoğraflarla, kamera tarafından çekilen videoyla ve mikrofondan kaydedilen sesle ilgileniyorum.Dahili kamera ve mikrofondan yeni medyayı algılamak için Android API

Şu anki düşüncem, her medya içeriği sağlayıcısını düzenli aralıklarla taramak ve son tarama süresine göre filtrelemek.

Sadece gerçek zamanlı bildirimleri almak için arayabileceğiniz bir hizmet olup olmadığını merak ediyorum.

+0

Benzer bir benzer gönderiye bakın: http://stackoverflow.com/questions/6639001/android-how-does-google-instant-upload-work –

cevap

3

Aha!

content observer A neye ihtiyacım var! Her seferinde bir uygulama olarak adlandırılan almalısınız özel yayın Niyet var

Here's where i found out about it

+0

Medya değişikliklerini izlemek için bir içerik gözlemcisini nasıl kullandığınızı paylaşabilir misiniz? –

10

Medya Store yeni bir şey yazıyor: aracılığıyla

Intent.ACTION_MEDIA_SCANNER_SCAN_FILE 

Yayın Niyet yeni dosyanın yolunu içerir , erişilebilir Intent.getDataString() yöntemi.

aşağıda gösterildiği gibi sadece BroadcastReceiver oluşturmak ve bir IntentFilter kullanarak kayıt, bunun için dinlemek için: Bu sadece dosyaları Medya Mağaza İçeriği Sağlayıcıları biri içine bir yerleştirme için çalışacak

registerReceiver(new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     String newFileURL = intent.getDataString(); 
     // TODO React to new Media here. 
    }  
    }, new IntentFilter(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE)); 

. Ayrıca, tüm yerel (Google) uygulamasının yaptığı amacı yayınlayan uygulamaya bağlıdır.

+3

Bu benim için çalışmadı - Galaxy Nexus. Yukarıdaki kodu denediniz ve hatta nexus 5 lolipop üzerinde çalışmayan xml (receiver) –

+1

'u belirtiniz –