说明:主要用到了getContentResolver的内容监听

public class ContentObserverActivity extends BaseActivity {    private Uri uri;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_observer);    }    /** * 拦截短信 * @param view */    public void cutSms(View view){        uri = Uri.parse("content://sms");        getContentResolver().registerContentObserver(uri, true, new MyContentObserver(new Handler()));    }    private class MyContentObserver extends ContentObserver{        public MyContentObserver(Handler handler) {            super(handler);            show("短信变动了");            //查询最后一条短信            Cursor cursor = getContentResolver().query(uri, null, null, null, null);            cursor.moveToLast();            String body = cursor.getString(cursor.getColumnIndex("body"));            SmsManager sm = SmsManager.getDefault();            ArrayList<String> list = sm.divideMessage(body);            for (String msg : list) {                sm.sendTextMessage("5556", null, msg, null, null);            }        }    }    public void show(String text){        Toast.makeText(this, text, Toast.LENGTH_LONG).show();    }}

关于public void sendTextMessage (String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)说明

Parameters

destinationAddress 发送短信的地址(也就是号码)
scAddress 短信服务中心,如果为null,就是用当前默认的短信服务中心
text 短信内容
sentIntent 如果不为null,当短信发送成功或者失败时,这个PendingIntent会被广播出去成功的结果代码是Activity.RESULT_OK,或者下面这些错误之一 :RESULT_ERROR_GENERIC_FAILURE
RESULT_ERROR_RADIO_OFF
RESULT_ERROR_NULL_PDU
对于 RESULT_ERROR_GENERIC_FAILURE, the这个sentIntent可能包括额外的”errorCode”,包含一些具体有用的信息帮助检查 。基于SMS控制的全部程序检查 sentIntent. 如果 sentIntent 为空,the caller will be checked against all unknown applications, which cause smaller number of SMS to be sent in checking period.
deliveryIntent 如果不为null,当这个短信发送到接收者那里,这个PendtingIntent会被广播,状态报告生成的pdu(指对等层次之间传递的数据单位)会拓展到数据(”pdu”)

更多相关文章

  1. Android之短信监听与内容获取
  2. Android demo之发送短信
  3. Android更新页面上的数据的常见三种方法
  4. android实现发送短信并保存到数据库,同时可以获得发送报告和接收
  5. Android批量插入数据到SQLite数据库
  6. Android 清除数据
  7. Android 中关于 【Cursor】 类的介绍、数据库和设计模式
  8. Android短信发送功能
  9. android中向通过contentProvider向数据库中插入数据的实现

随机推荐

  1. Android——消息机制
  2. Blog-05-《一周快速上手Kotlin For Andro
  3. Android内核开发:源码的版本与分支详解
  4. Android笔记Android基于事件监听器处理机
  5. .NET 开源了,Visual Studio 开始支持 Andr
  6. Android(安卓)gitHub 开源
  7. 开发前奏曲之添加Android(安卓)SDK平台工
  8. Android(安卓)amr语音编解码解惑
  9. Android中app的请求抓包工具 Fiddler 详
  10. Android(安卓)-- BroadcastReceiver的使