2008-10-23 5 views
16

Y a-t-il un moyen élégant dans l'API Android pour détecter les nouveaux médias lorsqu'il est écrit sur l'appareil? Je m'intéresse principalement aux photos prises par la caméra, à la vidéo prise par l'appareil photo et à l'enregistrement audio du micro. Mon idée actuelle consiste à analyser périodiquement chaque fournisseur de contenu multimédia et chaque filtre en fonction de la dernière analyse.API Android pour détecter les nouveaux médias de l'appareil photo intégré et du micro

Je me demande simplement s'il existe un service auquel je peux me connecter pour obtenir des notifications en temps réel.

+0

Afficher un post similaire: http://stackoverflow.com/questions/6639001/android-how-does-google-instant-upload-work –

Répondre

10

Il y a une intention de diffusion spéciale qui devrait s'appelé chaque fois qu'une application écrit quelque chose de nouveau au magasin des médias:

Intent.ACTION_MEDIA_SCANNER_SCAN_FILE 

La diffusion intention comprend le chemin vers le nouveau fichier, accessible par la méthode Intent.getDataString().

Pour écouter, il suffit de créer un BroadcastReceiver et se connecter en utilisant un IntentFilter comme indiqué ci-dessous:

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)); 

Cela ne fonctionnera que pour les fichiers étant insérés dans l'un des fournisseurs de contenu Media Store. En outre, cela dépend de l'application qui le met à diffuser l'intention, ce que font toutes les applications natives (Google).

+3

Cela n'a pas fonctionné pour moi - Galaxy Nexus. Essayé le code ci-dessus et même manifeste xml (récepteur) –

+1

ne fonctionne pas sur nexus 5 sucette –

Questions connexes