gpt4 book ai didi

android - 什么是 Context.getExternalMediaDir()?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:27:49 25 4
gpt4 key购买 nike

Javadoc for Environment.getExternalStoragePublicDirectory() 中的示例提到 Context.getExternalMediaDir() 但此方法在我的 Android API 版本中不可用,而且我无法在任何版本的任何地方找到它的记录。这是打字错误还是从未发布的内容?

void createExternalStoragePublicPicture() {
// Create a path where we will place our picture in the user's
// public pictures directory. Note that you should be careful about
// what you place here, since the user often manages these files. For
// pictures and other media owned by the application, consider
// Context.getExternalMediaDir().
File path = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES);

最佳答案

不,这不是错字(不再),这是 Android L 预览版上的新方法

基本上是谷歌的天才们,在/Android/data/文件夹中放置了一个“.nomedia”文件,这使得在您的文件夹中使用 MediaScannerConnection scanFile() 方法的任何尝试都会失败。因此,如果你有一个创建或下载媒体的应用程序,你现在可能正在做一些杂技来扫描该媒体并将其提供给你的提供商,除非你有新的 API,我们没有,因为其他所有手机都在运行更老的机器人...

目前我们的解决方法是自己扫描文件并将它们插入到与其匹配的内容提供者中。

例如,对于图像,您已经可以使用一种方法<强> MediaStore.Images.Media.insertImage (ContentResolver cr, String imagePath, String name, String description)

我们在 discussion today 中发布了这个解决方案几分钟后,一位来自 Google 的工程师告诉我们有关 Context.getExternalMediaDir() 的信息,据说它会为您提供二级外部存储(又名 Sd 卡)上的私有(private)路径,这对 MediaScanning 友好。

“新的 android.content.Context.getExternalMediaDirs() 返回所有共享存储设备上这些目录的路径。”

我的猜测(我还没有测试过)目录路径应该是

/存储/extSdCard/安卓/媒体/

开始管理围绕 SD 卡使用的开发决策的人是一个真正的白痴,过去几周我们从 Google-Android 看到的错误判断、糟糕的决策和操蛋的事情开始提醒我们微软的我。

关于android - 什么是 Context.getExternalMediaDir()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11908261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com