Question

Je travaille sur une application Android qui doit effectuer une action chaque fois qu'une nouvelle image est prise avec le téléphone. Je ne veux pas prendre l'image dans ma demande, mais plutôt effectuer une action lorsque l'application de la caméra prend une image et il enregistre sur la carte SD. En ce moment, je suis devenu un BroadcastReceiver qui est actuellement mis en œuvre l'écoute de « android.intent.action.CAMERA_BUTTON ». Toutefois, cela ne semble pas s'appeler quand je suis en train de vouloir. J'ai essayé de déboguer l'application sur mon propre téléphone avec un saut de ligne sur la première ligne de la méthode OnReceive du BroadcastReceiver, mais il n'a jamais atteint ce code.

Quelqu'un sait-il ce que l'intention correcte pour laquelle je devrais être à l'écoute est? Ou utilise un BroadcastReceiver même pas la meilleure façon de le faire? (Par exemple, est-il une meilleure façon d'y parvenir comme écouter quand une nouvelle image est enregistrée sur la carte)?

Merci!

Mise à jour: J'ai un trackball sur mon téléphone (HTC Eris), donc il est possible que de prendre des photos de cette façon ne soit pas envoyé comme « bouton de l'appareil photo »? Si oui, est-il une solution pour un téléphone sans un « bouton de l'appareil photo », mais plutôt quelque chose comme un trackball?

Était-ce utile?

La solution

  

En ce moment, je l'ai obtenu un BroadcastReceiver qui est actuellement mis en œuvre l'écoute de « android.intent.action.CAMERA_BUTTON ». Toutefois, cela ne semble pas s'appeler quand je suis en train de vouloir.

Cela ne se fait diffuser si l'activité de premier plan ne consomme pas l'événement.

Autres conseils

Tout à fait une vieille question, si quelqu'un a encore besoin de l'essai de solution en utilisant

  

android.hardware.action.NEW_PICTURE

comme filtre l'intention

<!-- Receiver for camera clicks -->
    <receiver
        android:name=".receivers.CameraEventReceiver"
        android:label="CameraEventReceiver">
        <intent-filter>

            <!-- <action android:name="com.android.camera.NEW_PICTURE" /> -->
            <action android:name="android.hardware.action.NEW_PICTURE" />

            <data android:mimeType="image/*" />
        </intent-filter>
    </receiver>

Il renvoie l'Uri de l'image dans intent.getData () de sa fonction OnReceive ()

it helps

essayez celui-ci cela fonctionne pour moi

<receiver android:name=".pictureReceiver" >
        <intent-filter android:priority="10000" >
            <action android:name="android.intent.action.CAMERA_BUTTON" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
</receiver>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top