【问题标题】:Using camera with no SD card on Android在 Android 上使用没有 SD 卡的相机
【发布时间】:2012-12-15 18:49:03
【问题描述】:

我只是想确认没有 SD 卡就无法在 Android 上使用相机?

我触发 MediaStore.ACTION_IMAGE_CAPTURE 意图使用相机,并试图让相机将图像存储在应用程序数据文件夹中

    ContentValues values = new ContentValues();
    values.put(Media.TITLE, "Image");
    values.put(Images.Media.BUCKET_ID, path.hashCode());
    values.put(Images.Media.BUCKET_DISPLAY_NAME, name);

    values.put(Images.Media.MIME_TYPE, "image/png");
    values.put(Media.DESCRIPTION, "Image capture by camera");
    values.put("_data", Constants.imagePath);

    Uri uri = getContentResolver().insert(
            Media.EXTERNAL_CONTENT_URI, values);
    cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);

    startActivityForResult(cameraIntent, PICTURE_ACTIVITY);

我假设相机无法访问应用程序数据文件夹

所以没有 SD 卡就无法使用相机?

【问题讨论】:

    标签: android android-camera


    【解决方案1】:

    还有另一种执行图像捕获的方法,即在表面视图上使用相机预览。

    通过使用这个东西,您可以保存以前的图像并进行捕捉。你可以通过你的应用程序的缓存目录getCacheDir()上下文方法。

    参考

    1) https://github.com/commonsguy/cw-advandroid/tree/master/Camera/Preview/
    2)http://android-er.blogspot.in/2010/12/camera-preview-on-surfaceview.html

    【讨论】:

      【解决方案2】:

      http://developer.android.com/guide/topics/media/camera.html#saving-media建议可以将图片保存到SD卡以外的位置:

      媒体文件...应该 保存到设备的外部存储目录(SD 卡)

      (我的重点)

      但是,使用内部存储会迅速耗尽通常非常有限的资源,这意味着文件只能通过手机而不是移除的 SD 卡携带。

      为了可靠性和“最佳实践”(我不喜欢这个词)的利益,我建议您遵循该指南中的建议。

      似乎内置的相机应用遵循了这些最佳实践,但也有可能编写一个不遵循这些最佳实践的应用。

      【讨论】:

      • 我想我会让应用程序的该功能需要一张 SD 卡,因为我想几乎每个人的 Android 设备中都有一张 SD 卡
      • 并非所有 Android 设备都配备 microSD 插槽。有些有“内部存储”或“内部 SD”或其他一些“USB 存储”。这样的设备仍然可以保存图片。
      【解决方案3】:

      如果没有 SD 卡,相机应用将显示:

      使用相机前请插入 SD 卡。

      所以不,不可能。

      编辑: 检查Camera 应用程序源代码,updateStorageHint(int remaining) 建议如果没有 SD 卡,它将始终显示“无存储”文本(同时检查 MenuHelper calculatePicturesRemaining())。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-16
        • 1970-01-01
        • 1970-01-01
        • 2017-01-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多