Android–OnObbStateChangeListener.MOUNTED为true但isObbMounted()为false,有什么问题?

Android–OnObbStateChangeListener.MOUNTED为true但isObbMounted()为false,有什么问题?,第1张

概述我在“/sdcard/Android/obb/com.example.obbtest/vid-exp1.obb”下有一个扩展文件.它包含一个MP4文件,我想挂载.obb来读取文件.这就是我正在做的安装它:StringobbDir="/sdcard/Android/obb/com.example.obbtest/vid-exp1.obb";.StorageManagerstorage=(StorageManager)

我在“/sdcard/Android/obb/com.example.obbtest/vID-exp1.obb”下有一个扩展文件.它包含一个MP4文件,我想挂载.obb来读取文件.

这就是我正在做的安装它:

String obbDir = "/sdcard/AndroID/obb/com.example.obbtest/vID-exp1.obb";

.

StorageManager storage = (StorageManager) getApplicationContext().getSystemService(STORAGE_SERVICE);storage.mountObb(obbDir, null, Listener); 

这是监听器代码:

OnObbStatechangelistener Listener = new OnObbStatechangelistener() {        @OverrIDe            public voID onObbStateChange(String path, int state) {                if (state == OnObbStatechangelistener.MOUNTED) {                    toastString("Mounted! According to the Listener");                    //Test it with the isObbMounted()                    if (storage.isObbMounted(obbDir)) {                        toastString("Efectively mounted!");                    } else {                        toastString("Not really :(");                    }                    toastString(storage.getMountedobbPath(obbDir));                } else {                    tuestameString("NOT mounted according to the Listener");                }             }        };

不幸的是,我得到的输出是“to mounted!根据听众”后跟“Not really :(”.我设计了这个测试,因为当我尝试getMountedobbPath(obbDir)时,我得到了一个空字符串而不是路径.我确保.obb文件存在并且所有这些,没有它或没有正确的登记密钥我不会“安装!…”.

我不明白为什么OnObbStatechangelistener.MOUNTED为true但isObbMounted(obbDir)为false.有谁知道我做错了什么?

解决方法:

在三星设备上遇到此问题.当/ mnt / sdcard /不是目录而是另一个目录的符号链接(在我的情况下是/ storage / sdcard0)时会发生这种情况.

在这种情况下,StorageManager不使用您指定的obb的路径,但解析了符号链接的路径:isObbMounted(“/ mnt / sdcard / my.obb”)返回false并且isObbMounted(“/ storage / sdcard0 / my.obb “) 是真的.

要访问已安装的obb,您不能使用路径obbDir,而是在第一个参数中传递给onObbStateChange()的路径:isObbMounted(path).

总结

以上是内存溢出为你收集整理的Android – OnObbStateChangeListener.MOUNTED为true但isObbMounted()为false,有什么问题?全部内容,希望文章能够帮你解决Android – OnObbStateChangeListener.MOUNTED为true但isObbMounted()为false,有什么问题?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1117768.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存