您的位置:首页 > 移动开发 > Android开发

2016最新Android安卓短信拦截(过Android4.4和Android5.0和Android5.1)源码

2015-09-12 16:51 531 查看

目前安卓短信拦截主要有两种方式,

一种是监听短信接收通知广播,需要设置

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

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

权限,并注册接收器

        <receiver
android
:name="com.guser.villy.SMSReceiver">

            <intent-filter
android
:priority="2147483647" >

                <action
android
:name="android.provider.Telephony.SMS_RECEIVED"
/>

                <action
android
:name="android.provider.Telephony.SMS_RECEIVED_2"/>

                <action
android
:name="android.provider.Telephony.GSM_SMS_RECEIVED"/>

                <category
android
:name="android.intent.category.DEFAULT"/>

            </intent-filter>

        </receiver>

另外一种是监听短信数据库,当数据库发生异动时,我们的监听器会调用回调函数进行处理,可以马上删除新收到的短信,这种方法需要注册观察器

public void addSMSObserver(){
ContentResolver resolver = getContentResolver();
Handler handler = new SMSHandler(this);
mObserver = new SMSObserver(resolver, handler);
resolver.registerContentObserver(SMS.CONTENT_URI, true, mObserver);
}

这两种方法各有千秋,在一些手机上是第一种比较好用,在一些手机上是第二种比较好用,本人将两种方法结合起来后,发现效果很好。并且支持网页、邮箱、手机三种接收方式。

项目结构



代码片段





代码很多,需要的朋友联系我QQ:2278937560


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息