1. 程式人生 > >android平臺獲取手機IMSI,IMEI ,序列號,和 手機號的方法

android平臺獲取手機IMSI,IMEI ,序列號,和 手機號的方法

/**
 * 獲取android當前可用記憶體大小 
 */
 private String getAvailMemory() {// 獲取android當前可用記憶體大小   

        ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);  
        MemoryInfo mi = new MemoryInfo();  
        am.getMemoryInfo(mi);  
        //mi.availMem; 當前系統的可用記憶體   

        return Formatter.formatFileSize(getBaseContext(), mi.availMem);// 將獲取的記憶體大小規格化   
    }  

/**
 * 獲得系統總記憶體
 */
private String getTotalMemory() {
    String str1 = "/proc/meminfo";// 系統記憶體資訊檔案 
    String str2;
    String[] arrayOfString;
    long initial_memory = 0;

    try {
    FileReader localFileReader = new FileReader(str1);
    BufferedReader localBufferedReader = new BufferedReader(
    localFileReader, 8192);
    str2 = localBufferedReader.readLine();// 讀取meminfo第一行,系統總記憶體大小 

    arrayOfString = str2.split("\\s+");
    for (String num : arrayOfString) {
    Log.i(str2, num + "\t");
    }

    initial_memory = Integer.valueOf(arrayOfString[1]).intValue() * 1024;// 獲得系統總記憶體,單位是KB,乘以1024轉換為Byte 
    localBufferedReader.close();

    } catch (IOException e) {
    }
    return Formatter.formatFileSize(getBaseContext(), initial_memory);// Byte轉換為KB或者MB,記憶體大小規格化 
    }

/**
 * 獲得手機螢幕寬高
 * @return
 */
public String getHeightAndWidth(){
    int width=getWindowManager().getDefaultDisplay().getWidth();
    int heigth=getWindowManager().getDefaultDisplay().getHeight();
    String str=width+""+heigth+"";
    return str;
}
/**
 * 獲取IMEI號,IESI號,手機型號
 */
private void getInfo() {
   TelephonyManager mTm = (TelephonyManager)this.getSystemService(TELEPHONY_SERVICE);
    String imei = mTm.getDeviceId();
    String imsi = mTm.getSubscriberId();
    String mtype = android.os.Build.MODEL; // 手機型號
    String mtyb= android.os.Build.BRAND;//手機品牌
    String numer = mTm.getLine1Number(); // 手機號碼,有的可得,有的不可得
    Log.i("text", "手機IMEI號:"+imei+"手機IESI號:"+imsi+"手機型號:"+mtype+"手機品牌:"+mtyb+"手機號碼"+numer);
}
/**
 * .獲取手機MAC地址
 * 只有手機開啟wifi才能獲取到mac地址
 */
private String getMacAddress(){
    String result = "";
    WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    WifiInfo wifiInfo = wifiManager.getConnectionInfo();
    result = wifiInfo.getMacAddress();
    Log.i("text", "手機macAdd:" + result);
    return result;
}
/**
 * 手機CPU資訊
 */
private String[] getCpuInfo() {
    String str1 = "/proc/cpuinfo";
    String str2 = "";
    String[] cpuInfo = {"", ""};  //1-cpu型號  //2-cpu頻率
    String[] arrayOfString;
    try {
        FileReader fr = new FileReader(str1);
        BufferedReader localBufferedReader = new BufferedReader(fr, 8192);
        str2 = localBufferedReader.readLine();
        arrayOfString = str2.split("\\s+");
        for (int i = 2; i < arrayOfString.length; i++) {
            cpuInfo[0] = cpuInfo[0] + arrayOfString[i] + " ";
        }
        str2 = localBufferedReader.readLine();
        arrayOfString = str2.split("\\s+");
        cpuInfo[1] += arrayOfString[2];
        localBufferedReader.close();
    } catch (IOException e) {
    }
    Log.i("text", "cpuinfo:" + cpuInfo[0] + " " + cpuInfo[1]);
    return cpuInfo;
}