这很奇怪。几周前,以下代码正在运行,现在不是:
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。
答案 0 :(得分:0)
我有一个类似的相机问题有时返回图像,有时返回null。我有将图像写入文件的相同设置。
我从onCreate()开始了相机意图,而不是onClick()方法。
当我锁定意图的屏幕方向(纵向,但无关紧要)时,问题就消失了。可能想尝试并报告是否有所作为。
这也可能是相关的: Camera activity causing uri to go to null when screen orientation changes