我正在尝试在拨号时显示活动选择器菜单。以下代码在发送电子邮件时适用于我(来自真实手机,在模拟器中无效):
/* 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。你有什么想法吗?
答案 0 :(得分:1)
当其他人({3}}中的某人回答时,您确实需要阅读previous questions。我会给你一个快速的解释。 Intent
是Android应用程序可以注册处理的一种消息。如果未安装Skype,则无法注册Intent
,因此不会显示在该菜单中。如果 已安装且仍未显示,则表示尚未注册Intent
。我不知道Android Skype应用程序,但从另一个问题中您链接的Intents and Filters判断,它似乎注册了Intent
并在安装时显示。