当前位置: 首页 > 知识库问答 >
问题:

正在发送SMS消息:uid 10137没有Android.Permission.Send_SMS

宗政松
2023-03-14

在我的第一个手机,使用Lollipop,程序运行良好,我可以发送和接收短信。但在我的第二部手机上,我的应用程序被强制关闭了。我不知道有什么问题

这是强制关闭后的日志...

java.lang.IllegalStateException:无法执行Android的方法:onclick at android.view.view$DeclaredonClickListener.onclick(view.java:4461)at android.view.view.PerformClick(view.java:4461)at android.view.view.PerformClick(view.java:5207)at android.widget.compoundButton.PerformClick(compoundButton.java:122)at android.view.view$PerformClick.run(view.java:21177)at android.os.handler.handleCallback(handler.java:739)at roid.app.activitythread.main(activitythread.java:5458)在java.lang.reflect.method.invoke(本机方法)在com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:738)在com.android.internal.os.zygoteinit.main(zygoteinit.java:628)由以下原因引起:java.lang.reflect.invocationtargetexception在java.lang.reflect.method.invoke(本机方法)在android.view.view在declaredonclicklistener.onclick(view.java:4456)...10其他原因:消息:uid 10137不具有android.permission.send_sms。在android.os.parcel.readexception(parcel.java:1620)在android.os.parcel.readexception(parcel.java:1573)在com.android.internal.telephony.isms$stub$proxy.sendtextforsubscriber(isms.java:842)在android.telephony.smsmanager.sendtextmessageinternal(smsmanager.java:311)在android.telephony.smsmanager.sendtextmessage(smsmanager.java:294)在com.example.tamvan.komunikasiberlapis.mainactivity.clicksaklar1gsmmode(

这是我在舱单上的许可

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

共有1个答案

盖玉石
2023-03-14
For Marshmallow, You need to add permission

Code:

    ...
    private static final int PERMISSION_SEND_SMS = 1;
    ...

    if(ActivityCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED)
    {
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.SEND_SMS}, PERMISSION_SEND_SMS);
    }
    else 
    {
        //do send or read sms
    }
    ...
    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)
        {
            switch(requestCode)
            {
                case PERMISSION_SEND_SMS:
                    if(grantResults != null && grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
                    {
                        //do send or read sms
                    }
                    break;
            }
        }

 类似资料:
  • 我是ruby和ruby on rails的新手,在设置Twilio发送短信时遇到了麻烦。

  • 但是在C#web API项目中,相同的代码会像预期的那样发送消息。 并且所有的SID、令牌和电话号码格式都是正确的,否则C#就不能发送,我也不能到达VB.NET版本的client.sendmessage部分(client.sendsmessage产生相同的结果)

  • 我正在设置一个电脑系统应用程序,这将发送短信警报。可以选择:服务类型:HTTP、SMTP或SMPP。我被告知要使用HTTP。HTTP(S)方法:Post或GET。我被告知要用GET。HTTP(S)URL:我认为https://api.twilio.com/2010-04-01是正确的HTTP(S)参数:举个例子:username=xxx&password=xxxx&mobNo=%xxxx%&mes

  • 接口说明 轻推轻应用/订阅号支持发送文本、图片、文本卡片、图文、key-value、文件、待办等消息类型。本接口针对各种消息类型和发送的对象(单发、群发以及给部分人发送)进行了定义。 注:openid是用户关注某个轻应用/订阅号后生成的唯一id,单发和给部分人发送消息必须携带此参数,可以通过如下接口来获取: 根据qt_code获取用户基本信息 获取使用者列表 通过userId获取openid 消息

  • 主动发送消息 use EasyWeChat\Kernel\Messages\TextCard; // 获取 Messenger 实例 $messenger = $app->messenger; // 准备消息 $message = new TextCard([ 'title' => '你的请假单审批通过', 'description' => '单号:1928373, ...

  • 向已经创建连接凭据的设备发送消息数据。 请求方式: |4|2|3|message|\r 参数 message 发送的消息内容 返回值: "|4|2|3|1|\r" 发送成功 "|4|2|3|2|\r" 发送失败 Arduino样例: softSerial.print("|4|2|3|DFRobot|\r");