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

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

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

2 ответа

Решение

IntentSender это своего рода уровень абстракции или класс клея, который позволяет

  1. Получать трансляцию, когда пользователь выбирает приложение в 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);
    
  2. Начните 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 используется в классе.

Другие вопросы по тегам