今日、私は難しいことに対処しなければなりません。
カメラを起動して、撮影した画像を内部ストレージに移動せずに直接保存したいのですが。
File targetDir = new File(getApplicationContext().getFilesDir()+File.separator+"PROJECTMAIN"+File.separator+"SUBFORDER");
targetDir.mkdirs(); //create the folder if they don't exist
File externalFile = new File(targetDir, "picturename.jpg");
Uri imageURI = Uri.fromFile(externalFile);
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageURI);
startActivityForResult(takePictureIntent, actionCode);
それらを直接内部ストレージに保存しようとすると、写真を撮った後、カメラが「OK」ボタンのクリックを無視するようです。「内部」URIに問題があると思います。extra_outputEnvironment.getExternalStorageDirectory()
の代わりに使用すると、すべてが正常に機能しますが、後でファイルを内部ストレージに移動する必要があります(移動プロセスは「getApplicationContext()」に正常に機能します) getApplicationContext().getFilesDir()
.getFilesDir() ")
写真を撮って[OK]ボタンを押して内部URIを続行しても、カメラは何もしません...Androidのストレージではそれが難しいとは信じられません。
何か案は?多分カメラは単に写真を外部ストレージに保存することを可能にしますか?