2012-03-06 2 views
16

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

Есть ли хорошие примеры, кроме The Android Intent Based APIs: Part Seven – IntentSenders And PendingIntents?

+0

наверняка, это зависит от того, что ваша заявка пытается сделать? –

+0

@Stev_k: спасибо, любой пример кода и хороший учебник о 'IntentSender' ... –

ответ

7

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 docs)

    startIntentSender(IntentSender intent, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options)

    Как startActivity(Intent, Bundle), но принимая IntentSender, чтобы начать ,

+1

Спасибо за ваш ответ. Приятно заметить, что разработчик может использовать '(ComponentName) намерение.getExtras(). GetParcelable (EXTRA_CHOSEN_COMPONENT)' в своем приемнике 'onReceive()' метод для получения выбранной информации о приложении (имя пакета и т. Д.). –

2

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

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

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

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

Here's an examplePendingIntent, используемый в классе.

Смежные вопросы