@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
filePath = getOutputMediaFile(FileColumns.MEDIA_TYPE_IMAGE);
File file = new File(filePath);
Uri output = Uri.fromFile(file);
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
i.putExtra(MediaStore.EXTRA_OUTPUT, output);
startActivityForResult(i, RETURN_FILE_PATH);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//data is always null here.
//requestCode = RETURN_FILE_PATH;
//resultCode = Activity.RESULT_OK;
}
fileとoutput Uriの値を確認しましたが、どちらも問題なく、キャプチャされた画像は実際にその場所に存在します。
ただし、返されるデータonActivityResult
は常にnull
画像をキャプチャした後でもあります。
編集:
私はこの質問をチェックしました:
onActivityResult が data = null で返される
それは言う:
カメラ インテントを指定して EXTRAOUTPUT を渡して画像を保存すると、onActivityResult 内のデータ パラメータは常に null を返します。したがって、データを使用して画像を取得する代わりに、ファイルパスを使用してビットマップを取得します。
そして多分その解決策は私にとってうまくいくでしょう。しかし、私の上記のコードは、これまで同じシナリオで機能するコードでした。