这很奇怪。以下代码几周前可以工作,现在不行了:
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 并将其设置为空。在 onActivityResult 中打印路径时出现 NPE。我该如何解决这个问题?我在 Galaxy Nexus 上使用 Android 4.1.2 API 16。