#android
#Android
Вопрос:
Я использую API Action Send и createChooser в своем приложении для обмена текстовыми сообщениями через различные приложения электронной почты.Но мне не нужны все приложения, которые я установил на своем устройстве.Я хочу, чтобы именно facebook, Gmail и Twitter были в списке выбора.Как фильтровать таким образом?Спасибо
String TEXT = "I shared the file " " via MyApp";
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_TEXT, TEXT);
startActivity(Intent.createChooser(sendIntent, "Share the program:"));
Это код, который я использую.
Ответ №1:
Если вы знаете, какие приложения вы хотите, вы можете создать свой собственный выбор в диалоговом окне и запустить конкретное намерение в соответствии с выбором пользователя.
Вы можете проверить доступные приложения, вызвав PackageManager queryIntentActivities:
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
List pkgAppsList = context.getPackageManager().queryIntentActivities( sendIntent, 0);
А затем вы выбираете те, которые вам нужны, и открываете диалоговое окно.
Комментарии:
1. Спасибо, Андрас. Есть ли какой-либо способ фильтрации в API createChooser (). потому что мне нужен экран общего доступа по умолчанию.
2. Кроме того, есть ли способ фильтровать по типу приложения (текст, электронная почта и т. Д.)?