Android 7.1 Write to text file

后端 未结 2 1461
予麋鹿
予麋鹿 2021-01-16 20:27

Guys New to Nougat come from Jelly bean Trying to write to sdcard a text file I know I now have to request permissions but cant find any code that works

Tried the fo

相关标签:
2条回答
  • 2021-01-16 20:36

    Either you have the permission and can do the try catch block where you write into the file or you have to do it in the onRequestPermissionsResult.

    Something like :

    public void yourMethod(){
        boolean hasPermission = (ContextCompat.checkSelfPermission(data_entry.this,
                        Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED);
        if(hasPermission){
          // write
        }else{
          // ask the permission
          ActivityCompat.requestPermissions(data_entry.this,
                            new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
                            REQUEST_WRITE_STORAGE);
          // You have to put nothing here (you can't write here since you don't
          // have the permission yet and requestPermissions is called asynchronously)
       }
    }
    
    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
                                           @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        // The result of the popup opened with the requestPermissions() method
        // is in that method, you need to check that your application comes here
        if (requestCode == REQUEST_WRITE_STORAGE) {
            if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                // write
            }
        }
    }
    

    I suggest that you check this link : https://developer.android.com/training/permissions/requesting.html

    0 讨论(0)
  • 2021-01-16 20:36

    This is what you need: https://developer.android.com/training/articles/scoped-directory-access.html#accessing

    You have to ask the user to give the rights to access it.

    0 讨论(0)
提交回复
热议问题