我的应用正在尝试向另一个号码发送短信。我具有用户授予的必要权限(SEND_SMS)。但是,该消息不会发送。默认的消息传递应用程序显示消息,并带有“发送/重新发送失败”提示。这背后的原因是什么,我该如何解决? 我的代码非常简单-
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneno, null, txt, null, null);
注意-我的应用在短信频率限制以下正常运行 编辑:从活动运行时,它工作正常,但从服务运行时,则失败。这背后的原因是什么?
答案 0 :(得分:0)
问题似乎是由于从哪里调用了代码。我有一个服务(在单独的线程上运行)产生了一个新的线程来发送SMS,出于某种原因,这似乎导致了问题。在删除所有不必要的复杂性并直接从服务发送短信后,它可以正常工作。
答案 1 :(得分:-1)
改为使用以下代码:
Intent sInt = new Intent(Intent.ACTION_VIEW);
sInt.putExtra("address", new String[]{txtMobile.getText().toString()});
sInt.putExtra("sms_body",txtMessage.getText().toString());
sInt.setType("vnd.android-dir/mms-sms");
确保清单中有此标签:
<uses-permission android:name="android.permission.SEND_SMS"/>