このコードでは、自動的に保存したファイルの URI を取得しようとしており、それをビットマップ イメージに入れたいと考えています。ご覧のとおり、画像の場所をハードコーディングすると、これはすべて機能します。しかし、コメント付きのコードを使用すると、正しい URI が返されず、動作するはずなのに理由がわかりません。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == FOTO_NEMEN && resultCode == RESULT_OK)
{
final File file = temp;
try {
String urienzo = Environment.getExternalStorageDirectory().getAbsolutePath() + "/DCIM/100MEDIA/IMAG0191.jpg";
Uri uri = Uri.parse(urienzo);
//Uri uri = Uri.fromFile(file);
//Bitmap foto2 = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri);
Bitmap foto = BitmapFactory.decodeFile(urienzo);
if (foto == null) {
Toast.makeText(this, ":(", Toast.LENGTH_SHORT).show();
return;
}
私が撮って保存したばかりの写真から正しい URI を見つけるための正しい方向を誰かが教えてくれたら (最後に撮った写真を撮るように)、彼らは命の恩人になるでしょう。
ハードコードすると、uri.toSring()
戻ります
/storage/sdcard0/DCIM/100MEDIA/IMAG0191.jpg
を使用するUri.fromFile(file);
と、戻ります
file:///data/data/gip.chillax/cache/tijdelijk-687168107.jpg
だから明らかに正しくない