Вопрос

Я работаю над приложением Android, которое необходимо выполнять действия каждый раз, когда новое изображение делается с телефоном. Я не хочу принимать изображение в моем приложении, а скорее выполнять какое -то действие, когда приложение камеры получает изображение и сохраняет его на SD -карту. Прямо сейчас я получил внедренного Broadcastreiver, который в настоящее время прослушивает "android.intent.action.camera_button". Тем не менее, это, похоже, не вызывается, когда я хочу это. Я попытался отладить приложение на своем собственном телефоне с помощью линейного разрыва на первой строке метода Broadcastreceiver, но он никогда не достигает этого кода.

Кто -нибудь знает, какое правильное намерение я должен слушать? Или использует вещатель, даже не лучший способ сделать это? (Например, есть ли лучший способ сделать это, например, прослушивание, когда новое изображение сохраняется на карте)?

Спасибо!

Обновлять: У меня есть трекбол на моем телефоне (HTC Eris), так что возможно ли, что фотографий таким образом не отправляется как «кнопка камеры»? Если так, есть ли обходной путь для телефона без «кнопки камеры», а скорее что -то вроде трекбола?

Это было полезно?

Решение

Прямо сейчас я получил внедренного Broadcastreiver, который в настоящее время прослушивает "android.intent.action.camera_button". Тем не менее, это, похоже, не вызывается, когда я хочу это.

Это транслируется только в том случае, если деятельность переднего плана не потребляет событие.

Другие советы

Довольно старый вопрос, если кому -то все еще нужно решение, попробуйте использовать

android.hardware.action.new_picture

Как ваш намеренный фильтр

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

Он вернет URI изображения в intent.getData () его функции OnReCeive ()

Надеюсь, поможет

Попробуйте это, это работает для меня

<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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top