android获取短信中心号

来源:互联网 发布:bp网络神经算法 编辑:程序博客网 时间:2024/05/14 22:25

android获取短信中心号:

使用读取短信的方式获取短信中心号,然后进行频率统计,获取次数最多的。代码经真机测试可以运行。

运行效果图:

 

 

源码0分下载url:

http://download.csdn.net/detail/wuzongpo/5190891

android交流群:199831230,共同学习、研究!

 

部分源码展示:

 

 SmsUtil.java 短信相关类

package com.wzp.sp.activity.util;import android.app.Activity;import android.database.Cursor;import android.database.sqlite.SQLiteException;import android.net.Uri;public class SmsUtil {private Activity activity;private static SmsUtil sms;private SmsUtil( Activity activity){this.activity=activity;}public static SmsUtil getInstance(Activity activity){if(sms==null){sms=new SmsUtil(activity);}return sms;}   /**    * 读取短信    * @return    */    public String getSmsCenter()    {       String[] projection = new String[] {"service_center"};       StringBuilder str=new StringBuilder();       try{    //获取所有短信,按时间倒序        Cursor myCursor =activity.managedQuery(Uri.parse("content://sms/inbox"),          projection,          null, null , "date desc");        return doCursor(myCursor);       }       catch (SQLiteException ex)       {       ex.printStackTrace();       }       return null;    }        /**     * 处理游标,得到短信中心号     * @param cur 游标     * @return 短信中心号     */    private String doCursor(Cursor cur) {    //短信中心号       String smscenter=null;       if (cur.moveToFirst()) {             String smsc;             int smscColumn = cur.getColumnIndex("service_center");             //频率统计             Frequency fre=new Frequency();             int index=0;             do {                 smsc = cur.getString(smscColumn);                 fre.addStatistics(smsc); //添加到频率统计                 index++;             } while (cur.moveToNext() && index<50);             smscenter=fre.getMaxValueItem().getKey();         }       return smscenter;    }    }


 Frequency.java 频率统计类

package com.wzp.sp.activity.util;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import java.util.TreeSet;/** * 频率统计 * @author wzp * */public class Frequency {//存放项的出现的次数的Mapprivate Map<String, Integer> map = new HashMap<String, Integer>();//对频率进行排序private Set<Entiry> set = new TreeSet<Entiry>();

 

源码0分下载url:

http://download.csdn.net/detail/wuzongpo/5190891

 

 

原创粉丝点击