Надежное обнаружение поддержки 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](или независимо от того, какой адрес электронной почты поддерживается вашим приложением). Возможно, тогда они отправили бы электронное письмо вместо того, чтобы оставлять анонимный комментарий.