java - 路径请求必须使用 UserEnvironment 指定用户

标签 java android

我通过使用

收到“路径请求必须使用 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/

相关文章:

java - 设计库 - 带有 GridView/listView 的 CoordinatorLayout/CollapsingToolbarLayout

java - 映射时处理重复的键

android - 是否有 API 可以在全局范围内接收 "pointer location"或 "touch location"?

android - 在 Ubuntu 10.04 上的 Eclipse 中安装 ADT 插件时出错

java - 我只能访问列表中的第一项

java - 无法计算表达式 'hasRole(USER)'

java - 解析整数错误

android - 在安卓真机上使用Appium,找不到工具栏按钮

java - 必须从工作线程调用publishProgress方法,当前推断的线程是主线程

android - 如何识别 gradle 中的 Android 支持库版本?