Я пытаюсь создать каталог, он работает в более низком API 29, но не работает в API 29. Это мой код в mainActivity:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
int writePermissionResult = ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (writePermissionResult == PackageManager.PERMISSION_DENIED) {
String[] permissions = {Manifest.permission.WRITE_EXTERNAL_STORAGE};
ActivityCompat.requestPermissions(this, permissions, 100);
}
else
createDirectory();
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 100)
if (grantResults[0] == 0)
createDirectory();
}
protected void createDirectory() {
String dirName = Environment.getExternalStorageDirectory().getAbsolutePath() + "/testdir";
File file = new File(dirName);
if (!file.exists()) {
boolean isCreated = file.mkdir();
Log.i("CLS", "Created ? " + isCreated + "");
} else
Log.i("CLS", "Exists ");
}
}
и использование-разрешения, android:name="android.permission.WRITE_EXTERNAL_STORAGE"
Также добавлено в файл манифеста. с помощью этого кода каталог был создан в более низком API, но не работает в API 29. Кто-нибудь может помочь? спасибо.