Страницы

Поиск по вопросам

пятница, 21 июня 2019 г.

Android. Неявный Intent

Вот тут написано: "При вызове метода startActivity() система анализирует все установленные приложения, чтобы определить, какие из них могут откликнуться на объект Intent этого вида.... ....Если объект Intent принимают несколько операций, система отображает диалоговое окно, в котором пользователь может выбрать приложение для выполнения данного действия."
Возник вопрос - можно ли исключить из диалогового окна конкретное приложение, если оно установлено у пользователя?


Ответ

Как вариант кастомизировать выбор приложения.
Получить список
Intent videoIntent = new Intent(android.content.Intent.ACTION_VIEW); videoIntent.setDataAndType(Uri.parse("url"), "video/*"); List video = getPackageManager().queryIntentActivities(videoIntent, 0); ArrayList list = new ArrayList(); for (ResolveInfo info : video){ if(!info.activityInfo.packageName.equals("packageName")){ list.add(info.loadLabel(getPackageManager()).toString()); } }
Предложить выбор
AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Select"); builder.setItems(list.toArray(new String[list.size()]), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //... } }); builder.show();

Комментариев нет:

Отправить комментарий