@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;
}
我檢查值文件和輸出烏里,兩者都是細並且將所捕獲的圖像實際上在那個位置存在。onActivityResult返回null數據的圖像捕獲
但是在onActivityResult
中返回的數據始終是null
,即使在捕獲圖像之後。
編輯:
我查了一下這個問題:
onActivityResult returns with data = null
它說:
當你通過傳遞EXTRAOUTPUT用相機意圖 數據參數保存圖像onActivityResult裏面總是返回null。所以, 而不是使用數據檢索圖像,使用文件路徑 檢索位圖。
也許該解決方案將爲我工作。但是,對於相同的場景,上面的代碼是一個工作代碼。
是的,剛剛看到帖子。但相同的代碼在過去6個月工作,爲什麼突然現在它的行爲是這樣的:( –
不幸的是,我不是這個主題的專家把我猜測它的硬件設備相關的特定功能。在三星設備上有不同的行爲:http://stackoverflow.com/q/8248327/1965084 – alex