我在“/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");
}
}
};
不幸的是,我得到的输出是一个吐司,上面写着“已安装!根据听众”,然后是“不是真的:(”。我设计了这个测试,因为当我尝试 getMountedObbPath(obbDir) 时,我得到一个空字符串而不是路径。我已确保 .obb 文件存在以及所有这些,没有它或没有正确的加密密钥,我不会得到“已安装!...”。
我不明白为什么 OnObbStateChangeListener.MOUNTED 是真的,但 isObbMounted(obbDir) 是假的。有谁知道我做错了什么?