如果你的程序并不需要一定有Camera,可以添加 android:required="false" 的tag属性。这样的话,Google Play 也会允许没
有camera的设备下载这个程序。当然你有必要在使用Camera之前通过
hasSystemFeature(PackageManager.FEATURE_CAMERA) 方法来检查设备上是否有Camera。如果没有,你应该关闭你的
Camera相关的功能!
使用相机应用程序进行拍照(Take a Photo with the Camera App)
==============================================
Android中将动作委托给其他应用的方法是:启动一个Intent来完成你想要的动作。这个步骤包含三部分: Intent 本身,启动
的外部 Activity, 与一些处理返回照片的代码。
这是一个能发送捕获照片intent的函数:
static final int REQUEST_IMAGE_CAPTURE = 1;
private void dispatchTakePictureIntent(int actionCode) {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
注意在调用startActivityForResult()方法之前,先调用 resolveActivity(),这个方法会返回能处理对应intent的活动组件(activity
component)中的第一个activity(译注:就是检查有没有能处理这个intent的Activity)。执行这个检查非常必要,因为如果你调
用startActivityForResult()时,没有app能处理你的intent,你的app就会crash。所以只要返回值不为