У меня есть этот код, чтобы сделать снимок и сохранить картинку в /data/data/...
, но после снимка я получаю Image saved to: /media/external/images/media/a_number
. Я проверил каталог /data/data/...
, а файла изображения там нет.Сделайте снимок и сохраните его/данные/данные
protected void onCreate(Bundle savedInstanceState) {
context = this;
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
File fileUri = new File(context.getFilesDir(), "INSTALLATION.jpg");
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name
// start the image capture Intent
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
//...
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
// Image captured and saved to fileUri specified in the Intent
Toast.makeText(this, "Image saved to:\n" + data.getData(), Toast.LENGTH_LONG).show();
} else if (resultCode == RESULT_CANCELED) {
// User cancelled the image capture
} else {
// Image capture failed, advise user
}
}
}
Это выглядит л Если вы делаете это правильно. Я думаю, что каталог, возвращаемый getFilesDir, зависит от устройства. Что вы используете? – elevine
У меня тоже такая же проблема: Причина в том, что приложение не может писать в частную область приложения. Я бы предложил использовать внешнюю частную область приложения, которая является общедоступной и доступной для чтения, т.е./storage/emulated/0/Android/<имя вашего пакета>/files/ – dex