Я хочу знать, какова цель класса IntentSender для нашего приложения? Как мы используем его в нашем приложении?
Есть ли хорошие примеры, кроме Android-ориентированные API: часть седьмая - IntentSenders And PendingIntents?
Я хочу знать, какова цель класса IntentSender для нашего приложения? Как мы используем его в нашем приложении?
Есть ли хорошие примеры, кроме Android-ориентированные API: часть седьмая - IntentSenders And PendingIntents?
IntentSender - это уровень уровня абстракции или клея, который позволяет
Получать трансляцию, когда пользователь выбирает приложение в меню выбора.
Пример использования IntentSender:
Intent intent = new Intent(Intent.ACTION_SEND)
.putExtra(Intent.EXTRA_TEXT, "This is my text to send.")
.setType("text/plain");
Intent receiver = new Intent(this, BroadcastTest.class)
.putExtra("test", "test");
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, receiver, PendingIntent.FLAG_UPDATE_CURRENT);
Intent chooser = Intent.createChooser(intent, "test", pendingIntent.getIntentSender());
startActivity(chooser);
Запустите Activity с IntentSender вместо Intent (подробнее в Android docs)
startIntentSender(IntentSender intent, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options)Как
startActivity(Intent, Bundle), но начинаем сIntentSender.
В официальной документации разработчика Android для IntentSender четко указано:
Экземпляры этого класса не могут быть сделаны напрямую, а должны быть созданы из существующего
PendingIntentсPendingIntent.getIntentSender().
Итак, вы бы (не должны) не видеть, что этот класс используется непосредственно в образце кода или учебнике.
Что касается PendingIntent, это в основном токен, который вы передаете другому приложению, которое позволяет этому приложению использовать разрешения вашего приложения для выполнения определенной части вашего кода приложения.
Здесь приведен пример PendingIntent, используемый в классе.