1
當用戶使用相機拍攝照片時,我希望圖像顯示在ImageView中,並且我想將Uri保存到在線數據庫中。我聽說保存圖片的Uri比保存路徑要好。獲取相機拍攝的圖片
所以這是我如何啓動相機:
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(getFile(getActivity())));
String a = String.valueOf(Uri.fromFile(getFile(getActivity())));
intent.putExtra("photo_uri", a);
startActivityForResult(intent, PICK_FROM_CAMERA);
其中
private File getFile(Context context){
File sdCard = Environment.getExternalStorageDirectory();
File directory = new File (sdCard.getAbsolutePath() + "/Myapp");
if (!directory.exists()) {
directory.mkdirs();
}
String filename = "bl" + System.currentTimeMillis() + ".jpg";
File newFile = new File(directory, filename);
return newFile;
}
在onActivityResult:
Bundle extras = data.getExtras();
String photo_uri = extras.getString("photo_uri"); //null
這始終是零。順便說一句,在發送意圖之前,Uri看起來像file:// ...而不是content://這是從圖庫中打開圖像時的URI。我不知道這是否是一個問題。
此外,我應該保存路徑而不是Uri到數據庫?我讀到Uri可能會在某些手機或Android版本中變得複雜。當我讓用戶從圖庫中選擇圖像時,我將Uri保存到數據庫中,所以我認爲最好的辦法就是在這種情況下保存Uri。
我嘗試了許多變化,但每次我試圖傳遞一個變量的意圖時...