я поставил все uses-permission
параметры вне тега приложения в моем Android manifest
файл здесь:Я получаю java.io.FileNotFoundException при попытке захвата экрана
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
Но когда я пытаюсь захватить на экране появляется следующая ошибка:
java.io.FileNotFoundException: /storage/emulated/0/DCIM/Camera/EMOJI_2-7-116_22538.jpg: open failed: EACCES (Permission denied)
Это метод захвата экрана.
private void captureScreen() {
Date now = new Date();
now.getYear();
now.getMonth();
now.getDay();
View v = findViewById(R.id.rl);
v.setDrawingCacheEnabled(true);
Bitmap bitmap = v.getDrawingCache();
String dest = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)
+ File.separator + "Camera" + File.separator + "EMOJI_" +
now.getDay() + "-" + now.getMonth() + "-" + now.getYear() + "_" + now.getHours() + now.getMinutes() + now.getSeconds() + ".jpg";
File file = new File(dest);
try {
FileOutputStream stream = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
stream.flush();
stream.close();
Toast.makeText(getApplicationContext(), "Saved !", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
Toast.makeText(getApplicationContext(), "An error occured", Toast.LENGTH_LONG).show();
} finally {
v.setDrawingCacheEnabled(false);
}
// Scan the image to make it appear in gallery
MediaScannerConnection.scanFile(this, new String[]{file.getPath()}, new String[]{"image/jpeg"}, null);
}
Помогите мне решить эту проблему?
Первый и можно проверить, что у получить в Dest –
от Dest следующая строка приходит: «/storage/emulated/0/DCIM/Camera/EMOJI_2-7-116_22538.jpg» –
Попробуйте добавить разрешение на чтение 'READ_EXTERNAL_STORAGE'. Какая версия API предназначена для вашего приложения? – HeatfanJohn