Android多種方法獲取唯一裝置id

2021-07-30 22:52:17 字數 2177 閱讀 2635

乙個獲取唯一裝置id工具類,可直接拿去用,建議使用getpesudouniqueid()方法,不需申請任何許可權;

this.mcontext = context;

}/**

* the imei: 僅僅只對android手機有效

* 採用此種方法,需要在androidmanifest.xml中加入乙個許可:android.permission.read_phone_state,並且用

* 戶應當允許安裝此應用。作為手機來講,imei是唯一的,它應該類似於 359881030314356(除非你有乙個沒有量產的手

* 機(水貨)它可能有無效的imei,如:0000000000000)。

** @return imei

*/public string getimei()

/*** pseudo-unique id, 這個在任何android手機中都有效

* 有一些特殊的情況,一些如平板電腦的設定沒有通話功能,或者你不願加入read_phone_state許可。而你仍然想獲得唯

* 一串行號之類的東西。這時你可以通過取出rom版本、製造商、cpu型號、以及其他硬體資訊來實現這一點。這樣計算出

* 來的id不是唯一的(因為如果兩個手機應用了同樣的硬體以及rom 映象)。但應當明白的是,出現類似情況的可能性基

* 本可以忽略。大多數的build成員都是字串形式的,我們只取他們的長度資訊。我們取到13個數字,並在前面加上「35

* 」。這樣這個id看起來就和15位imei一樣了。

** @return pesudouniqueid

*/public string getpesudouniqueid()

/*** the android id

* 通常被認為不可信,因為它有時為null。開發文件中說明了:這個id會改變如果進行了出廠設定。並且,如果某個

* andorid手機被root過的話,這個id也可以被任意改變。無需任何許可。

** @return androidid

*/public string getandroidid()

/*** the wlan mac address string

* 是另乙個唯一id。但是你需要為你的工程加入android.permission.access_wifi_state 許可權,否則這個位址會為

* null。returns: 00:11:22:33:44:55 (這不是乙個真實的位址。而且這個位址能輕易地被偽造。).wlan不必開啟,

* 就可讀取些值。

** @return m_szwlanmac

*/public string getwlanmacaddress()

/*** 只在有藍芽的裝置上執行。並且要加入android.permission.bluetooth 許可權.returns: 43:25:78:50:93:38 .

* 藍芽沒有必要開啟,也能讀取。

** @return m_szbtmac

*/public string getbtmacaddress()

/*** combined device id

* 綜上所述,我們一共有五種方式取得裝置的唯一標識。它們中的一些可能會返回null,或者由於硬體缺失、許可權問題等

* 獲取失敗。但你總能獲得至少乙個能用。所以,最好的方法就是通過拼接,或者拼接後的計算出的md5值來產生乙個結果。

* 通過演算法,可產生32位的16進製制資料:9dddf85aff0a87974ce4541bd94d5f55

** @return

*/public string getuniqueid() catch (nosuchalgorithmexception e)

m.update(m_szlongid.getbytes(), 0, m_szlongid.length());

// get md5 bytes

byte p_md5data = m.digest();

// create a hex string

string m_szuniqueid = new string();

for (int i = 0; i < p_md5data.length; i++)    // hex string to uppercase

m_szuniqueid = m_szuniqueid.touppercase();

return m_szuniqueid;}}(

Android獲取手機唯一標識

1.許多應用都有這樣的需求獲取你的手機唯一標識,當你解除安裝軟體重新安裝的時候也要保證這個唯一標識不變,所以只能根據手機硬體的去獲取到唯一標識.2.有好多跟硬體相關都會有各種許可權問題。一種很簡單直接獲取到read phone state的許可權,讀取到裝置串號.3.如果是android6.0系統需...

獲取android手機唯一標識

因為很多軟體都有這個功能,所以說是非常重要的,比如說乙個使用者賬號只能繫結3個裝置,那麼得到裝置的唯一標示將是非常重要的。我猜那麼你肯定首先想到的就是得到裝置imei,telephonymanager telephonymanager telephonymanager context.getsyst...

C C 多種方法獲取檔案大小

c 如何得到檔案的大小 先用fopen開啟檔案,然後把檔案指標指向檔案尾.再用ftell獲得檔案指標當前位置 即檔案長度 源 include stdafx.h include include using namespace std int main fseek fp,0,seek end 定位到檔案...