Я хочу знать, какова цель класса 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
, используемый в классе.