簡體   English   中英

無法寫入外部存儲

[英]Can't write in external storage

我想在外部存儲中創建一個文件,但我不能。 沒有錯誤,但沒有創造。 我之前在清單中獲得了許可。

我正在關注下面的簡單代碼:

package com.example.nima.readwritefiles;


public class ExternalActivity extends AppCompatActivity {

    File extDir;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        extDir = Environment.getExternalStorageDirectory();
        File file = new File(extDir , "mydir");
        if (!file.exists())
            file.mkdirs();

嗨來自棉花糖你需要運行時權限這里是運行時權限的代碼允許這些權限讀取和寫入

 private void checkPermissions() {
        int permissionLocation = ContextCompat.checkSelfPermission(this,
                Manifest.permission.WRITE_EXTERNAL_STORAGE);
        List<String> listPermissionsNeeded = new ArrayList<>();
        if (permissionLocation != PackageManager.PERMISSION_GRANTED) {
            listPermissionsNeeded.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
            listPermissionsNeeded.add(Manifest.permission.READ_EXTERNAL_STORAGE);
            if (!listPermissionsNeeded.isEmpty()) {
                ActivityCompat.requestPermissions(this,
                        listPermissionsNeeded.toArray(new String[listPermissionsNeeded.size()]), REQUEST_ID_MULTIPLE_PERMISSIONS);
            }
        } else {
            //do what you want to do
        }

    }

    @Override
    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
        int permissionLocation = ContextCompat.checkSelfPermission(this,
                Manifest.permission.WRITE_EXTERNAL_STORAGE);
        if (permissionLocation == PackageManager.PERMISSION_GRANTED) {
           //do what you want to do
        } else {
            //do what you want to do
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM