繁体   English   中英

为什么getExternalFilesDirs根据使用的上下文返回不同的结果?

[英]Why does getExternalFilesDirs return different results depending on which context is used?

这个很奇怪。 我使用Context.getExternalFilesDirs获取可移动SD卡的路径。 这在运行Android 6.0.1的LG X Power上正常运行。 但是,在Android 6.0上的LG Spirit H440N上,根据使用的上下文,它会给我带来不同的结果。 如果我调用此方法

  • 活动中,我得到一个大小为2的数组,其中包含内部和可移动SD卡文件路径
  • 在Application上下文中,我得到一个大小为1的数组,其中仅包含内部文件路径的路径

为什么根据调用该方法的上下文得到不同的结果? 权限在每种情况下是否有所不同?

请注意,我在清单中列出了两个权限:

<uses-permission
        android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

是的,我也这样认为。 我在Redmi设备上遇到了同样的问题。

applicationapplicationContext Context.getExternalFilesDirs(null)仅显示1个文件(内部存储),但是当我使用baseContextFirebaseMessagingService context ,效果很好。

因此,我认为baseContext.getExternalFilesDirs(null)将为您工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM