我使用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
。
答案 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
)生成的,只有应用程序制造商和设计人员可以列出(在他们的应用程序文档或源代码中,如果打开)他们的应用程序发送的广播意图。