где определяется android.camera.NEW_PICTURE? - PullRequest
4 голосов
/ 10 июня 2010

Я использовал com.android.camera.NEW_PICTURE, чтобы проверить, захвачено ли изображение.

(receiver android:name="NewPhotoReceiver")
    (intent-filter)

            (action android:name="com.android.camera.NEW_PICTURE"/)

            (data android:mimeType="image/*"/)

    (/intent-filter)
(/receiver)

Но com.android.camera.NEW_PICTURE нигде не обсуждается на сайте разработчиков Android.

Ответы [ 5 ]

10 голосов
/ 21 августа 2012

В API 14 (ICS) и выше вы можете использовать действие " android.hardware.action.NEW_PICTURE ", на которое ссылается здесь:

http://developer.android.com/reference/android/hardware/Camera.html#ACTION_NEW_PICTURE

Так что я думаю, что указание их обоих должно охватывать как прошлое, так и будущее использование:

<intent-filter>
    <action android:name="com.android.camera.NEW_PICTURE" />
    <action android:name="android.hardware.action.NEW_PICTURE" />
    <data android:mimeType="image/*" />
</intent-filter>

И остается только один вопрос: не будет ли какой-либо OEM не транслировать "com.android.camera.NEW_PICTURE"на предварительно ICS Android ...

1 голос
/ 10 июня 2010

Из источника приложения Камера :

sendBroadcast(new Intent("com.android.camera.NEW_PICTURE", mLastContentUri));

Таким образом, свойство data намерения содержит URI изображения. Вы можете получить физический путь методами, описанными в этом вопросе .

Если вы хотите сделать снимок из своего приложения, см. этот вопрос .

0 голосов
/ 27 октября 2015

Поскольку само действие "намерение широковещания" подразумевает, что "com.android.camera.NEW_PICTURE" не генерируется в рамках API Android, таким образом, оно не должно быть указано в документации API Android и, конечно, оно не существует ни в одном источнике API Android .java файл.

Но оно генерируется приложением (com.android.camera), и только производитель и дизайнеры приложения могут указать (в документации к своему приложению или в исходном коде, если он открыт), какие намерения вещания отправляет их приложение.

0 голосов
/ 24 июля 2015

одна проблема, которая также возникает при использовании обоих действий с получателями

Android: имя = "com.android.camera.NEW_PICTURE" андроид: имя = "android.hardware.action.NEW_PICTURE"

является дублирующим вызовом метода onReceived () на некоторых устройствах (протестировано на Samsung Galaxy S4 Mini), поэтому вы должны использовать только документированные андроид: имя = "android.hardware.action.NEW_PICTURE"

0 голосов
/ 16 июля 2012

Это не официально - может быть много разных реализаций для приложения камеры (изготовителями телефонов и даже рыночными приложениями), поэтому вы должны использовать только задокументированные намеренные действия.

'com.android.camera.NEW_PICTURE 'НЕ документирован и не является официальным.Я не знаю что это такое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...