如何在不显示选择器的情况下打开Android设备的默认摄像头。

时间:2015-07-23 19:23:04

标签: android android-intent service camera

我目前有一个按钮,当按下该按钮时,系统会要求用户选择相机应用程序并允许他/她拍照。

首先,我想摆脱这个选择,这样当按下按钮时,用户就会立即进入相机界面。这是我现在正在使用的代码(在线尝试了很多解决方案之后),它会提示用户选择相机:

 Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    try {
        PackageManager pm = this.getPackageManager();

        final ResolveInfo mInfo = pm.resolveActivity(i, 0);

        Intent intent = new Intent();
        intent.setComponent(new ComponentName(mInfo.activityInfo.packageName, mInfo.activityInfo.name));
        intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
        intent.addCategory(Intent.CATEGORY_LAUNCHER);

        startActivity(intent);
    } catch (Exception e) {
        Log.i("TAG", "Unable to launch camera: " + e);
    }

我已经浏览了一些文章,说没有选择器就无法启动Android原生/默认相机 - 但是,我看到像Facebook和WhatsApp这样的应用程序可以做到这一点,所以我确定有可能的。

一如既往,我感谢任何帮助。提前致谢!

1 个答案:

答案 0 :(得分:1)

在Android中有两种方法可以访问相机 - 您可以像在此处一样向现有应用发送意图,或者您可以在应用中构建自定义相机功能。使用现有应用程序要容易得多,但正如您所见,用户必须选择该应用程序。 Facebook和WhatsApp可能正在使用自定义相机功能。 http://developer.android.com/guide/topics/media/camera.html#custom-camera