当我以api 30为目标并试图检索路径"/data/data“中的文件列表(具有根权限)时,我只能获得我的应用程序的文件夹,而api 29或更低的文件则会显示所有文件。
即使使用api 30,我也如何检索所有文件?
所用代码:
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import com.topjohnwu.superuser.Shell
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val result = Shell.su("ls -la /data/data").exec()
Log.e("files", result.out.toString())
}
}我使用这个库作为root:https://github.com/topjohnwu/libsu
发布于 2021-12-06 08:32:03
这些是Android 11:https://developer.android.com/about/versions/11/privacy/storage中添加的新限制。
文档访问限制 为了让开发人员有时间进行测试,只有当应用程序针对Android 11或更高版本时,以下与存储访问框架(SAF)相关的更改才会生效。 对目录的访问 您不能再使用树意图操作请求对以下目录的访问:
对文件的访问
您不能再使用树或文档意图操作请求用户从以下目录中选择单个文件:
Android/data/目录和所有子目录。Android/obb/目录和所有子目录。https://stackoverflow.com/questions/69838420
复制相似问题