当前位置: 首页 > 面试题库 >

java.lang.SecurityException:正在发送短信:uid 10051没有android.permission.SEND_SMS

柯唯
2023-03-14
问题内容

伙计们,我对sms manager预定的短信有问题…在我使用的清单中

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

但我收到此错误…我不知道为什么…我向您展示我的LOGCAT:

 FATAL EXCEPTION: main
                                                                       Process: com.example.alarm, PID: 31456
                                                                       java.lang.RuntimeException: Unable to start receiver com.example.alarm.AlarmReceiver: java.lang.SecurityException: Sending SMS message: uid 10051 does not have android.permission.SEND_SMS.
                                                                           at android.app.ActivityThread.handleReceiver(ActivityThread.java:2615)
                                                                           at android.app.ActivityThread.access$1700(ActivityThread.java:151)
                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
                                                                           at android.os.Handler.dispatchMessage(Handler.java:110)
                                                                           at android.os.Looper.loop(Looper.java:193)
                                                                           at android.app.ActivityThread.main(ActivityThread.java:5327)
                                                                           at java.lang.reflect.Method.invokeNative(Native Method)
                                                                           at java.lang.reflect.Method.invoke(Method.java:515)
                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)
                                                                           at dalvik.system.NativeStart.main(Native Method)
                                                                        Caused by: java.lang.SecurityException: Sending SMS message: uid 10051 does not have android.permission.SEND_SMS.
                                                                           at android.os.Parcel.readException(Parcel.java:1465)
                                                                           at android.os.Parcel.readException(Parcel.java:1419)
                                                                           at com.android.internal.telephony.ISms$Stub$Proxy.sendText(ISms.java:926)
                                                                           at android.telephony.SmsManager.sendTextMessage(SmsManager.java:156)
                                                                           at com.example.alarm.AlarmReceiver.onReceive(AlarmReceiver.java:24)
                                                                           at android.app.ActivityThread.handleReceiver(ActivityThread.java:2597)
                                                                           at android.app.ActivityThread.access$1700(ActivityThread.java:151) 
                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397) 
                                                                           at android.os.Handler.dispatchMessage(Handler.java:110) 
                                                                           at android.os.Looper.loop(Looper.java:193) 
                                                                           at android.app.ActivityThread.main(ActivityThread.java:5327) 
                                                                           at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                           at java.lang.reflect.Method.invoke(Method.java:515) 
                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824) 
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640) 
                                                                           at dalvik.system.NativeStart.main(Native Method)

以及有关接收方广播的代码

public class AlarmReceiver extends BroadcastReceiver{


    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub

        String phoneNumberReciver="123456";
        String message="blablabla";
        /*String SPhone =i.getStringExtra("exPhone");
        String SSms = i.getStringExtra("exSmS");*/
        //android.telephony.SmsManager sms= SmsManager.getDefault();
        //sms.sendTextMessage(phoneNumberReciver, null, message, null, null);
        SmsManager smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage(phoneNumberReciver, null, message, null, null);
        Toast.makeText(context, "Alarm Triggered and SMS Sent", Toast.LENGTH_LONG);


    }

}

这是我的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.alarm"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    <uses-permission android:name="com.example.alarm.permission.SET_ALARM"/>
    <uses-permission android:name="android.permisson.SEND_SMS"/>
    <uses-permission android:name="android.permission.READ_CONTACTS"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.alarm.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver android:name=".AlarmReceiver"/>
    </application>

</manifest>

谁能帮我?预先感谢大家!


问题答案:

步骤1 您的明示许可为

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

用更新

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

android.permission.SEND_SMS不是 android.permisson.SEND_SMS

权限拼写错误

第2步

<receiver android:name=".AlarmReceiver">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>


 类似资料:
  • 我的应用程序通过SmsManager.sendMultipartTextMessage发送短信,然后通知服务器短信发送的状态。 一切正常,但Yota操作员有问题。短信不会发送到 MTS 运营商的手机。Yota运营商的员工声称MTS运营商阻止接收来自Yota的消息。 这不是我们的问题,但Android系统说,这样的短信成功交付。我们无法从其他手机重新发送此类短信,因为我们的系统认为它们已经成功发送。

  • 本文向大家介绍Twilio 发送短信,包括了Twilio 发送短信的使用技巧和注意事项,需要的朋友参考一下 示例 要使用Twilio和Python发送您的第一条SMS,您只需要Twilio-Python帮助程序库即可开始。            

  • egg 发送短信逻辑 service 'use strict'; const Service = require('egg').Service; class UserService extends Service { /** * 发送验证码 */ async sendCode() { //1. 获取用户手机号 const { phone } = this

  • 我每天发送400多条短信,但只有大约95%的短信被发送到广播接收器。消息以5秒的间隔发送。 以及舱单中的广播接收器: 我知道事实上,对于一些消息,广播接收器没有得到目的,但短信实际上是发送的。 我如何可靠地确定短信是否“离开了电话”?

  • 问题内容: 首先,我真的很惊讶这不是重复的,因为在Objective-C中有大量的堆栈溢出问题可以解决这个问题,但是我还没有看到使用Swift的好答案。 我正在寻找的是Swift中的代码段,该代码段将任意字符串作为文本消息的正文发送到给定的电话号码。从本质上讲,我希望像这样从苹果的官方文档,但是在斯威夫特,而不是Objective- C的。 我认为这并不是太困难,因为可以在Android中只需几行

  • 我正在开发一个应用程序,该应用程序具有获取OTP的功能,并且我使用了firebase OTP功能(使用手机号码在Android上与firebase进行身份验证),但不幸的是,有时我会面临这样的问题,比如我没有从firebase获得OTP,同时它也没有给出任何错误。我不知道我犯了什么错。需要帮助来解决这个问题,我也尝试了一些样本,它工作正常,但当我试图在我的项目中集成firebase是不是发送otp