【问题标题】:Send sms from default sms application从默认短信应用程序发送短信
【发布时间】:2016-07-03 06:49:43
【问题描述】:

我正在尝试从已设置为默认 SMS 应用程序的应用程序发送 SMS。我尝试使用 SmsManager 发送,但它不起作用。
这是我尝试过的:

SmsManager smsMan = SmsManager.getDefault();
smsMan.sendTextMessage(Name, null, body, null, null);

当我的应用程序未设置为默认应用程序时,此方法有效,但当我的应用程序为默认应用程序时无效。 是否有任何其他方法可以从默认 SMS 应用程序内部发送 SMS?

【问题讨论】:

  • 当您作为默认短信应用进行测试时,您确定您的消息没有超出单部分消息的字符数限制吗?
  • 它应该使用设置的默认短信应用程序。我的问题是,您如何确定它没有使用您自己的 SMS 应用程序发送消息。
  • @MikeM。不,我只是想发送一个词。
  • 您如何确定它不起作用?收件人只是没有收到消息吗?传出消息只是没有显示在另一个 SMS 应用程序中吗?它是否抛出异常?另外,你确定地址是正确的吗?也就是方法调用中的第一个参数Name

标签: android sms send


【解决方案1】:

试试下面的代码发送消息

String number = "12346556";  // The number on which you want to send SMS  
     startActivity(new Intent(Intent.ACTION_VIEW, Uri.fromParts("sms", number, null))); 

【讨论】:

  • OP 询问他们的应用是否作为默认短信应用,为此他们需要使用SmsManager。您的代码不适合该要求,因为它旨在打开另一个应用程序来处理消息。此外,无论如何,ACTION_VIEW 并不是你真正想要的。
  • 为您的目的尝试 SEND_TO... 'String phoneNumber = "9999999999"; String smsBody = "这是一条短信!"; // 在数据中添加电话号码 Uri uri = Uri.parse("smsto:" + phoneNumber); // 使用动作和数据创建意图 Intent smsIntent = new Intent(Intent.ACTION_SENDTO, uri); // smsIntent.setData(uri); // 我们只是在上面的构造函数中设置了数据 // 设置消息 smsIntent.putExtra("sms_body", smsBody); startActivity(smsIntent);'
  • 再说一次,这确实与 OP 的情况无关。
  • @raasesh 这个方法我试过了,也没用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-04
  • 2013-02-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多