使用模拟器发送短信出现错误的解决方法

在安卓应用开发揭秘第四章讲解使用模拟器发送短信并使用Toast显示短信息的时候,本人遇到过如下错误,现有一点个人的浅显理解:

错误:Couldn't open fd for content://settings/system/notification_sound Unable to to create media player

此错误导致Toast提示无法实现,后经过修改后依然会出现此错误,但是Toast提示信息出现了。本人个人猜测因为发短信会有短信提示声,需创建一个MediaPlayer播放声音,

但是未能打开错误提示信息上所指定的声音,所以会提示错误。也希望各位大神能指点下我的这个错误。现先讨论下Toast未能提示:

其中在书上的例子有两处缺陷,一处在SMSReceive中,一处在AndroidManifest中:

SMSReceive中,在onCreate方法之前需先定义个短信接收权限的变量SMS_RECEIVED并且赋值权限给变量,即:String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED" ;

然后在收到短信时自动触发onReceive方法时须先判断这个动作是否是接收短信的权限,即onReceive方法之前定义的短信接收权限。具体代码如下(蓝色字体为书上未有代码):

public class SMSReceiver extends BroadcastReceiver {

  String SMS_RECEIVED = "android.provider.Telep

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值