为什么我的应用程序即使具有必要的权限也无法发送短信?

Why is my app not able to send SMS even with requisite permissions?

我的应用正在尝试向另一个号码发送短信。我拥有用户授予的必要权限 (SEND_SMS)。然而,该消息没有得到 sent.The 默认消息应用程序显示带有 "failure to send/Resend" 提示的消息。这背后的原因是什么?我该如何解决? 我的代码非常简单-

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneno, null, txt, null, null);

注意-我的应用运行在短信频率限制之下 编辑:当来自 activity 的 运行 时工作正常,但当来自服务的 运行 时失败。这背后的原因是什么?

改用此代码:

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"/>

问题似乎出在从哪里调用代码。我有一个服务(运行 在一个单独的线程上)生成一个新线程来发送 SMS,出于某种原因,这似乎会导致问题。在我删除所有不必要的复杂性并直接从服务发送短信后,它工作正常。