android.camera.NEW_PICTURE在哪里定义?

时间:2010-06-10 14:42:05

标签: android camera

我使用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)

但是在Android开发者网站的任何地方都没有讨论com.android.camera.NEW_PICTURE

5 个答案:

答案 0 :(得分:10)

在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播放&#34; com.android.camera.NEW_PICTURE&#34;在ICS之前的Android上......

答案 1 :(得分:1)

来自the source of the Camera app

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

因此,intent的 data 属性包含图像URI。您可以通过this question中讨论的方法获取物理路径。

如果您想从应用程序中拍照,请参阅this question

答案 2 :(得分:0)

这不是正式的 - 相机应用程序可能有很多不同的实现(通过手机制造商甚至市场应用程序),因此您应该只使用记录的意图操作。

'com.android.camera.NEW_PICTURE'没有记录,也没有官方记录。我不知道是什么。

答案 3 :(得分:0)

将两个动作与接收器一起使用时也会出现一个问题

机器人:名称=&#34; com.android.camera.NEW_PICTURE&#34; 机器人:名称=&#34; android.hardware.action.NEW_PICTURE&#34;

是在某些设备上重复调用onReceived()方法(特别是在三星Galaxy S4 Mini上测试过),所以你应该更喜欢只使用文档 机器人:名称=&#34; android.hardware.action.NEW_PICTURE&#34;

答案 4 :(得分:0)

由于广播意图行动本身暗示&#34; com.android.camera.NEW_PICTURE&#34;在android API框架中没有生成,因此它不应该在android API文档中列出,当然它不存在于任何android API源.java文件中。

但它是由应用程序(com.android.camera)生成的,只有应用程序制造商和设计人员可以列出(在他们的应用程序文档或源代码中,如果打开)他们的应用程序发送的广播意图。