繁体   English   中英

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

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

我的应用正在尝试向另一个号码发送短信。 我具有用户授予的必要权限(SEND_SMS)。 但是,该消息不会发送。默认的消息传递应用程序显示消息,并带有“发送/重新发送失败”提示。 这背后的原因是什么,我该如何解决? 我的代码非常简单-

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

注意-我的应用程序在短信频率限制以下运行良好。编辑:从活动运行时,它运行正常,但从服务运行时,则运行失败。 这背后的原因是什么?

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

请改用以下代码:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM