Какова цель IntentSender? - программирование
Подтвердить что ты не робот

Какова цель IntentSender?

Я хочу знать, какова цель класса IntentSender для нашего приложения? Как мы используем его в нашем приложении?

Есть ли хорошие примеры, кроме Android-ориентированные API: часть седьмая - IntentSenders And PendingIntents?

4b9b3361

Ответ 1

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.

Ответ 2

В официальной документации разработчика Android для IntentSender четко указано:

Экземпляры этого класса не могут быть сделаны напрямую, а должны быть созданы из существующего PendingIntent с PendingIntent.getIntentSender().

Итак, вы бы (не должны) не видеть, что этот класс используется непосредственно в образце кода или учебнике.

Что касается PendingIntent, это в основном токен, который вы передаете другому приложению, которое позволяет этому приложению использовать разрешения вашего приложения для выполнения определенной части вашего кода приложения.

Здесь приведен пример PendingIntent, используемый в классе.