Надежное обнаружение поддержки PDF на Android-устройстве
Я использую метод для обнаружения поддержки PDF на устройстве Android, который выглядит следующим образом
public boolean canDisplayPdf() {
PackageManager packageManager = application.getPackageManager();
Intent testIntent = new Intent(Intent.ACTION_VIEW);
testIntent.setType("application/pdf");
if (packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY).size() > 0) {
return true;
} else {
return false;
}
}
И это пока прекрасно работает. Я знаю, что, по крайней мере, пользователи HTC по умолчанию, droidreader и adobe acrobat получают сообщение об этом, и возвращается правильный результат. Однако теперь я получил комментарий на консоли рынка от пользователя, который говорит, что у него есть поддержка PDF на устройстве, но из описанного поведения приложения я заключаю, что этот метод возвращает false.
Есть ли лучший способ обнаружить поддержку PDF?
PS: Мне бы хотелось спросить у пользователя подробную информацию о рынке.
Ответы
Ответ 1
Из всех найденных мной источников и практического тестирования опыта на довольно большом числе устройств подход, который я принял, верен.
У меня не было никаких дальнейших отзывов и думаю, что может быть ошибка пользователя или плохая версия приложения pdf.
Ответ 2
Вы делаете это правильно. Вы можете рассмотреть возможность обновления описания вашего приложения, чтобы сказать, что вы вызываете приложение PDF с использованием одобренного Android метода с типом MIME приложения /pdf. Кроме того, обратите внимание, что если у пользователей возникнут проблемы с приложением, вы можете получить электронное письмо по адресу [email protected](или независимо от того, какой адрес электронной почты поддерживается вашим приложением). Возможно, тогда они отправили бы электронное письмо вместо того, чтобы оставлять анонимный комментарий.