「/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");
}
}
};
残念ながら、私が得た出力は、「マウントされました!リスナーによると」というトーストであり、その後に「そうではありません:(」が続きます。 .obb ファイルが存在することを確認しましたが、.obb ファイルがないか、正しい暗号化キーがないと、「マウントされました!...」と表示されません。
OnObbStateChangeListener.MOUNTED が true であるのに isObbMounted(obbDir) が false である理由がわかりません。誰かが私が間違っていることを知っていますか?