从服务内发送短信[重复]

Posted

技术标签:

【中文标题】从服务内发送短信[重复]【英文标题】:Send SMS from within a service [duplicate] 【发布时间】:2018-04-16 22:18:10 【问题描述】:

我正在尝试从服务中发送 SMS,但会引发以下错误。服务 Java 文件已附有错误代码。由于服务无法发送短信,因此需要服务协助。

我想知道我是否可以通过某种方式授予服务发送 SMS 的权限,或者以任何方式我可以完成相同的操作。

 Sending SMS message: uid 10235 does not have android.permission.SEND_SMS.

我的代码如下:-

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(num1, null, sms_message+"", null, null);
smsManager.sendTextMessage(num2, null, sms_message+"", null, null);
smsManager.sendTextMessage(num3, null, sms_message+"", null, null);

我的清单文件如下所示

<uses-permission android:name="android.permission.SEND_SMS" />

【问题讨论】:

堆栈跟踪是供您理解阅读的,而不是我们为您阅读的。 如果你在棉花糖或以上测试,你必须在运行时请求用户允许短信权限。你可以发送短信,只有当用户授予权限 Possible answer 【参考方案1】:

首先确保您在 AndroidManifest.xml 中添加了 uses-permission 其次,如果您的目标是 android 6.0 及更高版本,请务必查看运行时权限

【讨论】:

我已将 SMS 权限添加到清单中,但在从服务发送 SMS 时遇到问题。 请问你测试的是什么版本的安卓? 我正在使用棉花糖。谢谢收到错误。【参考方案2】:

您尚未在AndroidManifest.xml 文件中设置android.permission.SEND_SMS

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.snazzyapp">

    <uses-permission android:name="android.permission.SEND_SMS"/>


    <application ...>
        ...
    </application>

</manifest>

【讨论】:

以上是关于从服务内发送短信[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从Intent服务发送短信 - 无法接收广播以检查是否发送了短信

SpringBoot 实现手机发送短信验证码

从android发送短信到服务器

使用 SSM 框架实现发送手机短信验证码

四位和六位短信验证码爆破方法比较

如何在Objective-C中以编程方式发送带有一些正文文本的短信[重复]