android发送短信并监听插入收件箱的方法
来源:互联网 发布:漫画控要网络 编辑:程序博客网 时间:2024/04/26 11:24
package com.sms.service;import android.app.Activity;import android.app.PendingIntent;import android.content.*;import android.net.Uri;import android.telephony.SmsManager;import org.apache.commons.lang3.RandomUtils;import java.util.List;/** * Created by Administrator on 2015/8/18. */public class SmsService { //移动,每小时70,一天500 // //电信 每小时200,一天1000 private static final SmsService instance = new SmsService(); public static final SmsService getInstance() { return instance; } public int send(final String phone, String message, final Context context) { if (message != null && phone != null) { SmsManager sms = SmsManager.getDefault(); final List<String> texts = sms.divideMessage(message); PendingIntent sendIntent = null; PendingIntent backIntent = null; //处理返回的发送状态 String SENT_SMS_ACTION = "SENT_SMS_ACTION"; Intent sentIntent = new Intent(SENT_SMS_ACTION); for(int i=1;i<texts.size()+1;i++) { try { sentIntent.putExtra(i + "", texts.get(i - 1)); }catch (Exception e){ e.printStackTrace(); } } sendIntent = PendingIntent.getBroadcast(context, phone.hashCode(), sentIntent, 0); //下标 final StringBuffer index = new StringBuffer("0"); context.registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context _context, Intent intent) { index.append(Integer.parseInt(index.substring(index.length() - 1))+1); switch (getResultCode()) { case Activity.RESULT_OK: String text = intent.getStringExtra(index.substring(index.length() - 1)); if (text == null){ break; } ContentValues values = new ContentValues(); values.put("date", System.currentTimeMillis()); values.put("read", 0); values.put("type", 2); values.put("address", phone); values.put("body", text); System.out.println("text:"+text); context.getContentResolver().insert(Uri.parse("content://sms/sent"), values); break; case SmsManager.RESULT_ERROR_GENERIC_FAILURE: break; case SmsManager.RESULT_ERROR_RADIO_OFF: break; case SmsManager.RESULT_ERROR_NULL_PDU: break; } if (Integer.parseInt(index.substring(index.length() - 1)) == texts.size()){ context.unregisterReceiver(this); } } }, new IntentFilter(SENT_SMS_ACTION)); for(int i=0;i<texts.size();i++) { try { //发送短信 sms.sendTextMessage(phone, null, texts.get(i), sendIntent, backIntent); Thread.sleep(RandomUtils.nextLong(100, 600)); } catch (Exception e) { e.printStackTrace(); } } return texts.size(); } return 0; }}
0 0
- android发送短信并监听插入收件箱的方法
- Android发送短信,并监听短信发送后是否发送成功的实现方法
- 短信收件箱的Intent跳转方法
- Android监听发送短信
- 发送并监听短信状态
- Android监听SMS发送状态并获取短信服务中心号码
- Android监听SMS发送状态并获取短信服务中心号码
- Android监听SMS发送状态并获取短信服务中心号码
- Android监听SMS发送状态并获取短信服务中心号码
- Android监听SMS发送状态并获取短信服务中心号码
- android 实现监听短信接收并将当前位置发送出去
- Android 使用ContentObserver监听短信的变化,并发送信息给特定的手机号码
- Android监听发送短信和接受短信的事件
- Android中短信的收发机制 发送短信 接收短信 拦截短信 监听短信
- Android将发送的短信插入数据库
- Android将发送的短信插入数据库
- Android将发送的短信插入数据库
- Android发送短信的方法
- NSString介绍及使用
- android:gravity 和 android:layout_Gravity的区别
- hdu 2476 区间DP
- 让zepto和jquery可以同时使用
- 怎么用实验室的扫描设备
- android发送短信并监听插入收件箱的方法
- 对iOS程序启动的顺序的了解
- android中一个自定属性的xml错误
- cocos2dx C++工程添加lua支持
- Oracle直方图的深入理解-和测试-直返图直接影响sql是否走正确的索引?
- android中的几个log的功能及作用
- BOSS战的设计与架构
- 兔子--ButterKnife的使用
- java数据结构与算法之概述