У меня есть приложение для Android, которое, среди прочего, может загружать документы. Я хотел бы предложить возможность открывать эти документы с помощью других приложений, таких как приложения для просмотра документов To Go в DataViz. Я просмотрел довольно много кода и перебрал другие вопросы здесь, и я думаю, что я просто не делаю что-то совершенно правильное.
Например, давайте представим, что я загружаю ppt. Этот бит кода должен проверять, поддерживается ли тип документа приложением перед загрузкой документа.
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setType("application/ppt");
PackageManager packageManager = getPackageManager();
List intentList = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
if (intentList.size() == 0) {
// error
}
По какой-то причине этот фрагмент кода не регистрирует приложения DataViz или другую программу просмотра документов на моем устройстве.
И, конечно, если бы я должен был вызвать startActivity (намерение); это бросило бы исключение.