简易安卓短信收发应用

初学者在开发安卓短信收发应用时遇到真机无法收发短信的问题。解决方法包括手动开启应用的短信和电话状态读取权限,以及在manifest文件中添加RECEIVE_SMS和SEND_SMS权限。在发送短信时,还需READ_PHONE_STATE权限以读取手机状态。
摘要由CSDN通过智能技术生成

刚学安卓,最近在写一个短信的收发程序,但是在模拟器上面可以收发,在真机上面却不行,解决办法:
对于收短信,由于现在很多手机系统对短信、电话等状态的读取设置了很多权限,需要手动去打开(目前不会用代码申请这些权限),例如在小米5手机上面找到应用的权限管理,打开Message这个应用(编写程序的名字)的所有权限:
在这里插入图片描述
这样接收短信就没什么问题了,然后在manifest文件里面加上android.permission.RECEIVE_SMS权限就可以正常的收短信。但是对于发短信还是有问题,只加android.permission.SEND_SMS这个权限,并不能正常的发短信,通过adb logcat抓取手机里面的log可以看到还少了一项权限:android.permission.READ_PHONE_STATE,原因是发短信也是要读取手机本身的状态的。加上这个权限就可以愉快的发短信了。

主要源码如下:
只有一个源文件MainActivity.java

public class MainActivity extends Activity {

	private TextView tv_from;
	private TextView tv_content;
	private MessageReceiver messageReceiver;
	private EditText et_send_number;
	private EditText et_send_content;
	private SendStatusReceiver sendStatusReceiver;

	@O
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值