Я понимаю, как использовать намерения и startActivity () при открытии другого действия в рамках моего собственного приложения, но как Вы запускаете другое приложение? конкретно:
Как узнать, доступно ли намерение:
Попробуйте вызвать намерение и обработайте ActivityNotFoundException
, если оно недоступно
Намерение намерения = новое намерение (намерение .ACTION_VIEW);
intent.setDataAndType (путь, «приложение / pdf»);
intent.setFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP);
пытаться {
startActivity (намерение);
}
catch (ActivityNotFoundException e) {
Toast.makeText (OpenPdf.this,
"Нет приложения для просмотра PDF",
Toast.LENGTH_SHORT) .show ();
}
или
Запросите диспетчер пакетов , чтобы узнать, опережает ли он время:
PackageManager packageManager = getPackageManager ();
Намерение намерения = новое намерение (Intent.ACTION_VIEW);
intent.setType ("приложение / PDF");
Список list = packageManager.queryIntentActivities (намерение,
PackageManager.MATCH_DEFAULT_ONLY);
if (list.size ()> 0) {
intent.setDataAndType (путь, «приложение / pdf»);
startActivity (намерение);
}
Как передать параметры приложению или узнать его возможности:
Что вы ищете, так это намерения и фильтры намерений.
Все, что вам нужно знать, подробно описано в руководстве для разработчиков Android.
http://developer.android.com/guide/topics/intents/intents-filters.html