我想从外部存储装载.obb文件。我写了这些代码。
storageManager.mountObb(obbPath, key, new OnObbStateChangeListener() {
@Override
public void onObbStateChange(String path, int state) {
switch (state) {
case ERROR_ALREADY_MOUNTED:
storageManager.unmountObb(rawPath, true, this);
break;
case UNMOUNTED:
storageManager.mountObb(rawPath, key, this);
break;
case MOUNTED:
File mountedDir = new File(storageManager.getMountedObbPath(path));
// do something with mountedDir
break;
case ERROR_COULD_NOT_MOUNT:
case ERROR_INTERNAL:
case ERROR_PERMISSION_DENIED:
// Error occurred!!
break;
}
}
});
现在我执行此操作,OnObbStateChangeListener
获取state = ERROR_INTERNAL (20)
。
这个错误代码是什么?如何解决这个问题?
另外:我发现了这篇文章:What causes jobb tool to throw FAT Full IOException? 可能这是一个答案。我的obb文件坏了。
谢谢。答案 0 :(得分:-1)
看起来这个常量是在MountService类(包com.android.server)中设置的。您可以在这里查看源代码:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/com/android/server/MountService.java但是正如您所看到的,在ERROR_INTERNAL设置状态有多种原因