Какова цель IntentSender?
Я хочу знать, какова цель IntentSender
класс для нашего приложения? Как мы используем это в нашем приложении?
Есть ли хорошие примеры, кроме API-интерфейсов Android Intent: часть седьмая - IntentSenders и PendingIntents?
2 ответа
IntentSender
это своего рода уровень абстракции или класс клея, который позволяет
Получать трансляцию, когда пользователь выбирает приложение в Chooser.
Пример, когда вы используете
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 документах)startIntentSender(IntentSender intent, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options)
подобно
startActivity(Intent, Bundle)
, но принимаяIntentSender
начать.
Официальная документация для разработчиков Android для IntentSender
четко говорится:
Экземпляры этого класса не могут быть сделаны напрямую, а должны быть созданы из существующего
PendingIntent
сPendingIntent.getIntentSender()
,
Таким образом, вы не должны (не должны) видеть, что этот класс используется непосредственно в примере кода или учебном пособии.
Что касается PendingIntent
в основном это маркер, который вы даете другому приложению, которое позволяет этому приложению использовать разрешения вашего приложения для выполнения определенного фрагмента кода вашего приложения.
Вот пример PendingIntent
используется в классе.