when creating new file, getting above error. code works in android 4.4 version . testing on 6.0.1 device , getting error. have write permission in manifest file, tried mkdirs() before creating file, still same issue. here code snippet :
file newfile = new file(localfilepath); try { string abc = null; abc = environment.getexternalstoragestate(); if(!newfile.exists()) { newfile.mkdirs(); newfile.createnewfile(); } } catch (ioexception e1) { e1.printstacktrace(); return false; }
the externalstoragstate comes 'mounted'. storage location /storage/emulated/0/testlocation/filename..
you have give run time permission 6.0
private static final int my_permissions_request_storage = 1; private string[] storage_permissions = { manifest.permission.read_external_storage, manifest.permission.write_external_storage }; if ((int) build.version.sdk_int >= 23) { if (activitycompat.checkselfpermission(this, manifest.permission.read_external_storage) != packagemanager.permission_granted && activitycompat.checkselfpermission(this, manifest.permission.write_external_storage) != packagemanager.permission_granted) { if (activitycompat.shouldshowrequestpermissionrationale(this, manifest.permission.read_external_storage) && activitycompat.shouldshowrequestpermissionrationale(this, manifest.permission.write_external_storage)) { if (activitycompat.shouldshowrequestpermissionrationale(this, manifest.permission.read_external_storage) && activitycompat.shouldshowrequestpermissionrationale(this, manifest.permission.write_external_storage)) { android.app.alertdialog.builder builder = new android.app.alertdialog.builder(this); builder.setmessage("to storage access have allow access sd card content."); builder.settitle("storage"); builder.setpositivebutton("ok", new dialoginterface.onclicklistener() { @override public void onclick(dialoginterface dialog, int which) { activitycompat.requestpermissions(omnisaleshubdraweractivity.this, storage_permissions, 0); oncontactsclick(); } }); builder.show(); } else { activitycompat.requestpermissions(this, storage_permissions, 0); oncontactsclick(); } } else { activitycompat.requestpermissions(draweractivity.this, storage_permissions, my_permissions_request_storage); oncontactsclick(); } } }
Comments
Post a Comment