andlua+无法读取和写入安卓11以上data文件怎么办

如题所示,安卓11以上data外的文件都能读取和写入,data里的不行,请问有什么解决办法嘛,谢谢

望采纳!!!点击回答右侧采纳即可!!

  1. 在AndroidManifest.xml中添加读写权限:
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    
  2. 在代码中动态申请权限:
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
     ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
    }
    
  3. 使用FileProvider:
    <provider
     android:name="android.support.v4.content.FileProvider"
     android:authorities="com.example.fileprovider"
     android:exported="false"
     android:grantUriPermissions="true">
     <meta-data
         android:name="android.support.FILE_PROVIDER_PATHS"
         android:resource="@xml/file_paths" />
    </provider>
    
  4. 使用Storage Access Framework:
    Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
    startActivityForResult(intent, REQUEST_CODE);
    

望采纳。。。。。

data 目录下面,你自己的 app 只能写入你自己 app 包名下面 data/data/com.xxx.your.package,不需要任何存储权限。

andlua 想要读取其他 app 存储在/data/data/目录下面的文件,必须要 root 完手机才行,否则没有权限!!