我正在尝试挂载Android/obb/
中的obb文件,但出现此异常:
2018-12-07 10:47:48.795 18614-18640/? D/DefContainer: Couldn't get OBB info for /storage/emulated/0/Android/obb/bible audio.obb
2018-12-07 10:47:48.795 1178-1216/? W/StorageManagerService: com.android.server.StorageManagerService$ObbException: Missing OBB info for: /storage/emulated/0/Android/obb/bible audio.obb
这是我的代码:
private void mountObb() {
final StorageManager storageManager = (StorageManager) getSystemService(STORAGE_SERVICE);
String obbPath = Environment.getExternalStorageDirectory() + "/Android/obb";
final String obbFilePath = obbPath + "/bible audio.obb";
OnObbStateChangeListener mount_listener = new OnObbStateChangeListener() {
public void onObbStateChange(String path, int state) {
if (state == OnObbStateChangeListener.MOUNTED) {
if (storageManager.isObbMounted(obbFilePath)) {
Log.d("Main", "Mounted successful");
String newPath = storageManager.getMountedObbPath(obbFilePath);
File expPath = new File(newPath + "/file.zip/file.apk");
Log.d("Main", "File exist: " + expPath.exists());
Toast.makeText(getBaseContext(), "successfully mounted!", Toast.LENGTH_LONG).show();
startActivity(new Intent(Downloader.this, AudioList.class));
}
} else {
Toast.makeText(getBaseContext(), "mount failed", Toast.LENGTH_LONG).show();
}
}
};
storageManager.mountObb(obbFilePath, "key", mount_listener);
}
}
我在做什么错了?
答案 0 :(得分:0)
问题是示例中文件的名称和位置: 对于OBB文件的命名方式以及放置位置,Android有非常严格的规定。
mountObb
function只能访问名称和路径与您的应用程序包名称匹配的文件。