как показать активность меню выбора при наборе в андроиде? - PullRequest
2 голосов
/ 14 июня 2011

Я пытаюсь показать меню выбора активности при наборе номера.Следующий код работает для меня при отправке электронной почты (с реального телефона, не работает в эмуляторе):

        /* Create the Intent */
    final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);

    /* Fill it with Data */
    emailIntent.setType("plain/text");
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"to@email.com"});
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject");
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Text");

    /* Send it off to the Activity-Chooser */
    this.startActivity(Intent.createChooser(emailIntent, "Send mail..."));

Но когда я изменяю код как:

        Intent call = new Intent(android.content.Intent.ACTION_CALL);
    call.setData(Uri.parse("tel:" + phoneNo));
    this.startActivity(Intent.createChooser(call, "Hello there..."));

Нет активностиМеню выбора показано, просто прямой набор.Я также хочу перечислить Skype в этом меню.У тебя есть идеи?

1 Ответ

1 голос
/ 14 июня 2011

Как кто-то ответил на один из ваших предыдущих вопросов , вам действительно нужно прочитать о Intents and Filters . Я дам вам быстрое объяснение, хотя. Intent - это тип сообщения, которое приложения Android могут регистрировать для обработки. Если Skype не установлен, он не сможет зарегистрироваться для этого Intent и не будет отображаться в этом меню. Если он установлен и все еще не отображается, это означает, что он не зарегистрирован для этого Intent. Я не знаю приложение Skype для Android, но, судя по картинке , на которую вы ссылались в другом вопросе, кажется, что она регистрируется для этой Intent и будет отображаться при установке.

...