我通过使用
收到“路径请求必须使用 UserEnvironment 指定用户”错误Environment.getExternalStorageDirectory().getPath()
我跟踪了我的代码,发现在 java.io.Environment 中有一个函数会产生这个错误:
private static void throwIfUserRequired() {
if (sUserRequired) {
Log.wtf(TAG, "Path requests must specify a user by using UserEnvironment",
new Throwable());
}
}
我在网上搜索并从 here 找到了这个解决方案
Environment.setUserRequired(false);
但是这个解决方案对我不起作用,因为我无法访问环境的“setUserRequired”方法。我收到编译错误。我在 Environment 类中搜索了这个函数,我发现了这个:
/** {@hide} */
public static void setUserRequired(boolean userRequired) {
sUserRequired = userRequired;
}
任何人都可以帮助我如何访问手机的外部存储?任何解决方案?这是紧急情况。非常感谢
最佳答案
您需要使用 UserEnvironment 并获取此用户的路径。
int userId = UserHandle.myUserId();
sCurrentUser = new UserEnvironment(userId);
这段代码是从 Environment.java 中窃取的,以及他们用来初始化内部用户的代码。
关于java - 路径请求必须使用 UserEnvironment 指定用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25356545/