歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android獲取短信中心號

Android獲取短信中心號

使用讀取短信的方式獲取短信中心號,然後進行頻率統計,獲取次數最多的。代碼經真機測試可以運行。

使用讀取短信這種方法,獲取的短信中心號可能不准,但是其他方法都沒有測試成功(真機不能運行),不知道什麼原因。

運行效果圖:

================================================

Android獲取短信中心號源碼下載:

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2013年資料/3月/29日/Android獲取短信中心號

================================================

部分源碼展示:

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;
    }
   
}

Copyright © Linux教程網 All Rights Reserved