【Android】无法发送短信的问题

最近开始学习Andriod,入门的第一本书是李刚老师的《疯狂Andriod讲义》。

 

在讲到事件处理时,有一段代码是用来实现发送短信的。但是在运行过程发生如下的错误:

※根据Exception的内容,了解到没有SEND_SMS权限。

========================================================

java.langSecurityException:Sending SMSmessage:uid 10057 does not have`android.permission.SEND_SMS

 

省略部分错误信息。。。

========================================================

 

网上查了很多的资料,大都是说在【AndroidManifest.xml】中添加【】。

 

但是添加后,依然没有解决。可能是由于使用的开发环境和Android版本的问题吧。

 

所以只好在程序中动脑筋,经过诸多尝试,终于找到解决方案。

■解决方案

1. 在AndroidManifest.xml中添加如下语句:

 

2. 在继承了Activity类的方法onCreate中,添加如下方法:

   super.onCreate(savedInstanceState);

setContentView(R.layout.main);

ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.SEND_SMS} , -1);

 

※上述两者缺一不可

※requestPermissions的第三个参数说明

   ·>= 0 : 启动画面是会提示是否允许该App拥有发送短信的权限。

   ·< 0  : 不提示相关信息,直接享有发送短信的权限。

※ActivityCompat.requestPermissions的具体用法可参考Andriod的API文档。

 


你可能感兴趣的:(Android开发)