【问题标题】:Camera capture activity MediaStore.ACTION_IMAGE_CAPTURE doesn't write to Uri相机捕捉活动 MediaStore.ACTION_IMAGE_CAPTURE 不写入 Uri
【发布时间】:2013-02-28 06:31:53
【问题描述】:

这很奇怪。以下代码在几周前可以工作,现在不行了:

private void onClick()
{
   Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
   mOriginalUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(),"original" + String.valueOf(System.currentTimeMillis()) + ".jpg"));
   Log.d("path", mOriginalUri.getPath());
   intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mOriginalUri);
   intent.putExtra("return-data", true);
   startActivityForResult(intent, CAMERA_REQUEST);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) 
{
   switch( requestCode )
   {
   case CAMERA_REQUEST:
       if(resultCode == MainActivity.RESULT_OK)
          Log.d("path", mOriginalUri.getPath());
       break;
   }
}

不知何故,相机捕捉活动正在丢失我的 Uri 并将其设置为 null。在 onActivityResult 中打印路径时出现 NPE。我该如何解决这个问题?我在 Galaxy Nexus 上使用 Android 4.1.2 API 16。

【问题讨论】:

  • 你有什么错误吗?
  • 当我尝试打印路径时,onActivityResult 中出现空指针异常。
  • 还要检查您要获取的图像是否存在于该路径中?
  • 你试过了吗?您的问题解决了吗?

标签: android android-intent android-camera


【解决方案1】:

我遇到了类似的相机问题,有时会返回图像,有时会返回 null。我有将图像写入文件的相同设置。

我从 onCreate() 方法开始了相机意图,而不是 onClick() 方法。

当我锁定意图的屏幕方向(纵向,但这没关系)时,问题就消失了。可能想尝试一下,如果有影响,请报告。

这也可能是相关的: Camera activity causing uri to go to null when screen orientation changes

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-09
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-30
    • 2018-03-18
    相关资源
    最近更新 更多