Domanda

Sto lavorando su un'applicazione Android che deve eseguire un'azione ogni volta che una nuova immagine è presa con il telefono. Non voglio prendere l'immagine all'interno della mia applicazione, ma piuttosto eseguire alcune azioni quando l'applicazione fotocamera scatta una foto e la salva sulla scheda SD. In questo momento, ho ottenuto un BroadcastReceiver implementato che è attualmente in ascolto per "android.intent.action.CAMERA_BUTTON". Tuttavia, questo non sembra ottenere chiamato quando sto volerlo a. Ho cercato di eseguire il debug dell'applicazione sul mio telefono cellulare con un'interruzione di linea sulla prima riga del metodo di OnReceive del BroadcastReceiver, ma non raggiunge mai quel codice.

Qualcuno sa che l'intento corretto per il quale io dovrebbe essere l'ascolto è? O sta utilizzando un BroadcastReceiver nemmeno il modo migliore per farlo? (Per esempio, c'è un modo migliore per ottenere questo risultato, come l'ascolto per quando una nuova immagine viene salvata sulla carta)?

Grazie!

Aggiornamento: ho un trackball sul mio telefono (HTC Eris), quindi è possibile che scattare foto in questo modo non vengono inviati come "macchina fotografica del tasto"? Se è così, c'è una soluzione per un telefono senza un "pulsante della fotocamera", ma piuttosto qualcosa di simile a una sfera rotante?

È stato utile?

Soluzione

  

In questo momento, ho ottenuto un BroadcastReceiver implementato che è attualmente in ascolto per "android.intent.action.CAMERA_BUTTON". Tuttavia, questo non sembra ottenere chiamato quando sto volerlo a.

Che solo viene trasmesso se l'attività in primo piano non consuma l'evento.

Altri suggerimenti

Piuttosto una vecchia questione, se qualcuno ha bisogno ancora la soluzione provare a utilizzare

  

android.hardware.action.NEW_PICTURE

come filtro intento

<!-- 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>

Si restituirà l'Uri dell'immagine in intent.getData () della sua OnReceive () la funzione

La speranza aiuta

provare questo uno Questo funziona per me

<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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top