我的 Android 4.0.2 三星 Nexus 遇到了非常奇怪的问题。我编写了一个简单的程序,基本上每次用户按下按钮时都会创建文件。我的程序在其他设备上运行良好,例如在 Galaxy Nexus Windows/Mac 上无法看到 SD 卡上的这些文件,但当我执行 adb shell 时,我会看到 SD 卡上的所有文件。
我在另一个装有 Android 4.0.4 的 Nexus 上重新测试了这一点,但结果仍然相同。
可能是什么原因?
您可能需要通过以下方式索引您的文件MediaScannerConnection
。引用我自己的话摘自去年的一篇博文 http://commonsware.com/blog/2011/08/31/mtp-external-storage.html:
...MTP 内容不基于外部存储的文字内容。相反,MTP 内容基于 MediaScannerConnection 扫描的文件。如果将文件写入外部存储,除非 MediaScannerConnection 扫描该文件,否则用户将无法通过 MTP 看到该文件。
外部存储会在重新启动时进行扫描,并且可能会定期进行扫描。用户可以通过 SDRescan 等实用程序手动强制扫描。但是,最好的答案是您在关闭文件后使用 MediaScannerConnection 上的 scanFile() 来更新媒体数据库。这将使您的文件立即可供用户使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)