次のコードを使用して、カメラから写真を撮り、写真のパスを取得します。
...
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_IMAGE_CAPTURE); // image capture
...
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.d(TAG, "onActivityResult:" + resultCode + " request:" + requestCode);
switch (requestCode) {
case CAMERA_IMAGE_CAPTURE:
Uri selectedImageUri = data.getData();
userImagePath = getPath(selectedImageUri);
break;
}
}
エミュレーターやさまざまなデバイスでうまく機能します。ただし、Samsung Galaxy Nexus(4.0.2) ではカメラ アプリが起動しません。しかし、onActivityResult に RESULT_OK を返し、LogCat に例外は見られません。この問題を解決する方法とアドバイスをお願いします。前もって感謝します!