APEZProvider RuntimeException для видео на устройствах Huawei
Я использую файл расширения APK в своем приложении с APEZProvider. Это работает на всех устройствах, кроме устройств Huawei. Если пользователь хочет открыть видео, оно всегда приходит к RuntimeException, и видео не может быть воспроизведено.
Это происходит на всех устройствах Huawei (версия Android 8.0).
Это известная проблема с устройствами Huawei и как я могу решить эту проблему?
1 ответ
К счастью, этот код с открытым исходным кодом, так что вы можете отладить его самостоятельно. Исходный код здесь.
Соответствующий раздел:
int len = projection.length;
intProjection = new int[len];
for (int i = 0; i < len; i++) {
if (projection[i].equals(FILEID)) {
intProjection[i] = FILEID_IDX;
} else if (projection[i].equals(FILENAME)) {
intProjection[i] = FILENAME_IDX;
} else if (projection[i].equals(ZIPFILE)) {
intProjection[i] = ZIPFILE_IDX;
} else if (projection[i].equals(MODIFICATION)) {
intProjection[i] = MOD_IDX;
} else if (projection[i].equals(CRC32)) {
intProjection[i] = CRC_IDX;
} else if (projection[i].equals(COMPRESSEDLEN)) {
intProjection[i] = COMPLEN_IDX;
} else if (projection[i].equals(UNCOMPRESSEDLEN)) {
intProjection[i] = UNCOMPLEN_IDX;
} else if (projection[i].equals(COMPRESSIONTYPE)) {
intProjection[i] = COMPTYPE_IDX;
} else {
throw new RuntimeException();
}
Интересные вещи по этому поводу. Во-первых, номера строк не соответствуют номерам строк. Во-вторых, имя пакета не совпадает с именем пакета. Вы используете последнюю версию? Возможно, ошибка уже исправлена. В обновлении, которое изменило имя пакета, также указано "Обновлено для Marshmallow", которое, если вы получаете перерывы, может объяснить, почему вы получаете их на последних телефонах.