我已经构建了一个短信应用程序,它支持短信活动(只有短信)的所有功能。但现在,我的问题是,当我的应用程序已经是默认的短信,我不能从通过我的应用程序发送短信到联系人视图的号码。这里是图像来解释我想达到什么。 When I click to the sms icon,my app is opened by I can't get the number 我没有任何代码在我的活动中处理动作SEND/SENDTO,但我刚刚在清单文件中提到了intent-filter:action.SEND,action.SENDTO,因为如果我们想要使用应用程序可选作为默认的短信应用程序。我认为来自联系人视图的号码是从onActivityResult访问的,但它似乎不起作用,请帮忙!从联系人视图,如何发送联系人号码到我的短信应用程序,发送短信到它
回答
正从通讯录中SENDTO
时,数量 - 可能有多个号码 - 将作为数据Uri
上开始你的Activity
的Intent
进行安装。在初始化您的Activity
时,请检查相应的操作,并在必要时检索号码。
对于一个简单的例子:
if (Intent.ACTION_SENDTO.equals(getIntent().getAction())) {
Uri data = getIntent().getData();
String numbers = data.getSchemeSpecificPart();
}
对于一个更坚实的实现,这将是审慎的剥夺任何其他参数上可能出现的Uri
,并更换任何非拉丁数字。
if (Intent.ACTION_SENDTO.equals(getIntent().getAction())) {
Uri data = getIntent().getData();
String numbers = data.getSchemeSpecificPart();
// Strip any extraneous parameters
int i = numbers.indexOf('?');
numbers = (i == -1) ? numbers : numbers.substring(0, i);
// Replace non-Latin digits, and ensure our delimiter is something we expect
numbers = PhoneNumberUtils.replaceUnicodeDigits(numbers).replace(",", ";");
...
}
如果接收到多个号码,他们应该来一个逗号或者分号分隔String
。上面的代码用分号代替逗号,所以我们以后不必担心使用了哪些。你可以简单地split()
numbers
得到个人数字,如果你收到多个。
非常感谢。我会试试这个,并让你知道结果。这真的是我需要的代码 –
工程就像一个魅力,谢谢,你救了我的一天! –
没问题。乐意效劳。欢迎来到堆栈溢出,顺便说一句。干杯! –
- 1. 如何向联系人发送短信?
- 2. 如何从联系人发送短信和号码?
- 3. 如何向多个联系人发送短信
- 4. 将短信发送到存储在文本视图中的多个联系人
- 5. 发送短信给SQLite数据库中的每个联系人
- 6. 从我的android应用程序发送短信到Whatsapp到特定的联系人
- 7. 如何查看联系人的短信?
- 8. 传送短信/彩信/从Android到Web服务器的联系人
- 9. android短信发送到收到号码
- 10. 如何将短信转发到选定的联系人到我的Android应用程序的whatsapp?
- 11. 实现添加联系人在iPhone短信应用程序
- 12. 从Windows应用程序发送短信
- 13. 如何发送消息到联系人列表号码
- 14. iPhone编程:发短信?访问联系人列表?
- 15. 使用ajax发送联系人详细信息到数据库
- 16. 发件人ID发送GSM短信
- 17. Android过去的短信联系人/号码
- 18. Android:使用互联网发送短信
- 19. 根据所选的联系人发送电子邮件或短信
- 20. CNContact保存联系人时不会发送联系人图片
- 21. 如何使用电话簿中的联系人发送短信而不是编写电话号码?
- 22. 如何从移动短信网站发送联系表格信息?
- 23. 获取联系人短信数量和联系电话时间
- 24. 如何发送短信给多个联系人,并获得他们每个人的结果代码在android123
- 25. 发送短信时更改发件人号码
- 26. 发送短信程序
- 27. 如何获取联系人和短信信息
- 28. 发送短信
- 29. 发送短信
- 30. 发送短信
请编辑您的问题,以提供处理'SEND' /'SENDTO'操作的'Activity'的代码,并解释您在检索电话号码/联系人ID时遇到的问题。 –
好吧,我更新了我的问题。正如我在我的问题中解释的那样,我没有任何代码来处理联系人的数据,你能建议我一个还是只是一个有用的链接? –
是的,这个号码将被附加到用于启动你的Activity的'Intent'。 'onActivityResult()'方法对此不起作用。给我一分钟,我会汇总一个答案。 –