導航:首頁 > 軟體問題 > 應用軟體如何獲取手機設備標識

應用軟體如何獲取手機設備標識

發布時間:2022-10-15 06:20:23

1. 如何獲取設備唯一標識

有很多場景和需求你需要用到手機設備的唯一標識符。例如,略。 在Android中,有以下幾種方法獲取這樣的ID。 1. The IMEI: 僅僅只對Android手機有效: TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);

2. 如何獲取Android唯一標識

獲取Android唯一標識的具體操作步驟:
DEVICE_ID
假設確實需要用到真實設備的標識,可能就需要用到DEVICE_ID。在以前,Android設備是手機,這個DEVICE_ID可以同
通過TelephonyManager.getDeviceId()獲取,它根據不同的手機設備返回IMEI,MEID或者ESN碼,但它在使用的過程中
會遇到很多問題:

非手機設備: 如果只帶有Wifi的設備或者音樂播放器沒有通話的硬體功能的話就沒有這個DEVICE_ID
許可權: 獲取DEVICE_ID需要READ_PHONE_STATE許可權,如果只為了獲取它,沒有用到其它的通話功能,那這個許可權有點大才小用
bug:在少數的一些手機設備上,該實現有漏洞,會返回垃圾,如:zeros或者asterisks的產品。

2. MAC ADDRESS
也可以通過手機的Wifi或者藍牙設備獲取MAC ADDRESS作為DEVICE ID,但是並不建議這么做,因為並不是所有的設備都有Wifi,並且,如果Wifi沒有打開,那硬體設備無法返回MAC ADDRESS.

3. Serial Number
在Android 2.3可以通過android.os.Build.SERIAL獲取,非手機設備可以通過該介面獲取。
4. ANDROID_ID
ANDROID_ID是設備第一次啟動時產生和存儲的64bit的一個數,當設備被wipe後該數重置

ANDROID_ID似乎是獲取Device ID的一個好選擇,但它也有缺陷:

它在Android <=2.1 or Android >=2.3的版本是可靠、穩定的,但在2.2的版本並不是100%可靠的
在主流廠商生產的設備上,有一個很經常的bug,就是每個設備都會產生相同的ANDROID_ID:9774d56d682e549c

5. Installtion ID : UUID

3. 系統支持應用雙開,那2個APP獲取到的設備標識是相同還是不同

兩個APP獲取到的設備標識是相同的。
手機中的【設置】→【我的設備】→【關於本機】頁面裡面的IMEI就是手機的設備標識。
不管是本機系統的APP還是應用分身的APP,授權的手機依舊是本機,只要授權了就能獲取手機的信息,所以設備標識都是一樣的。

4. 求大神指點 手機設備標識許可權怎麼開

很簡單,只需要信任此應用就可以了

在這個界面的附近找找,就能找到信任此應用

5. 如何獲取Android唯一標識

有很多場景和需求你需要用到手機設備的唯一標識符。例如,略。
在Android中,有以下幾種方法獲取這樣的ID。

1. The IMEI: 僅僅只對Android手機有效:
TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String szImei = TelephonyMgr.getDeviceId(); // Requires READ_PHONE_STATE

採用此種方法,需要在AndroidManifest.xml中加入一個許可:android.permission.READ_PHONE_STATE,並且用戶應當允許安裝此應用。作為手機來講,IMEI是唯一的,它應該類似於 359881030314356(除非你有一個沒有量產的手機(水貨)它可能有無效的IMEI,如:0000000000000)。
2. Pseudo-Unique ID, 這個在任何Android手機中都有效
有一些特殊的情況,一些如平板電腦的設置沒有通話功能,或者你不願加入READ_PHONE_STATE許可。而你仍然想獲得唯一序列號之類的東西。這時你可以通過取出ROM版本、製造商、CPU型號、以及其他硬體信息來實現這一點。這樣計算出來的ID不是唯一的(因為如果兩個手機應用了同樣的硬體以及Rom 鏡像)。但應當明白的是,出現類似情況的可能性基本可以忽略。要實現這一點,你可以使用Build類:
String m_szDevIDShort = "35" + //we make this look like a valid IMEI
Build.BOARD.length()%10+ Build.BRAND.length()%10 + Build.CPU_ABI.length()%10 + Build.DEVICE.length()%10 + Build.DISPLAY.length()%10 + Build.HOST.length()%10 + Build.ID.length()%10 + Build.MANUFACTURER.length()%10 + Build.MODEL.length()%10 + Build.PRODUCT.length()%10 + Build.TAGS.length()%10 + Build.TYPE.length()%10 + Build.USER.length()%10 ; //13 digits
大多數的Build成員都是字元串形式的,我們只取他們的長度信息。我們取到13個數字,並在前面加上「35」。這樣這個ID看起來就和15位IMEI一樣了。

3. The Android ID , 通常被認為不可信,因為它有時為null。開發文檔中說明了:這個ID會改變如果進行了出廠設置。並且,如果某個Andorid手機被Root過的話,這個ID也可以被任意改變。
String m_szAndroidID = Secure.getString(getContentResolver(), Secure.ANDROID_ID);

Returns: 9774d56d682e549c . 無需任何許可。
4. The WLAN MAC Address string, 是另一個唯一ID。但是你需要為你的工程加入android.permission.ACCESS_WIFI_STATE 許可權,否則這個地址會為null。
WifiManager wm = (WifiManager)getSystemService(Context.WIFI_SERVICE);
String m_szWLANMAC = wm.getConnectionInfo().getMacAddress();

Returns: 00:11:22:33:44:55 (這不是一個真實的地址。而且這個地址能輕易地被偽造。).WLan不必打開,就可讀取些值。
5. The BT MAC Address string, 只在有藍牙的設備上運行。並且要加入android.permission.BLUETOOTH 許可權.
BluetoothAdapter m_BluetoothAdapter = null; // Local Bluetooth adapter
m_BluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
String m_szBTMAC = m_BluetoothAdapter.getAddress();

Returns: 43:25:78:50:93:38 . 藍牙沒有必要打開,也能讀取。
Combined Device ID
綜上所述,我們一共有五種方式取得設備的唯一標識。它們中的一些可能會返回null,或者由於硬體缺失、許可權問題等獲取失敗。
但你總能獲得至少一個能用。所以,最好的方法就是通過拼接,或者拼接後的計算出的MD5值來產生一個結果。
String m_szLongID = m_szImei + m_szDevIDShort
+ m_szAndroidID+ m_szWLANMAC + m_szBTMAC;
// compute md5
MessageDigest m = null;
try {
m = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
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++) {
int b = (0xFF & p_md5Data[i]);
// if it is a single digit, make sure it have 0 in front (proper padding)
if (b <= 0xF)
m_szUniqueID+="0";
// add number to string
m_szUniqueID+=Integer.toHexString(b);
} // hex string to uppercase
m_szUniqueID = m_szUniqueID.toUpperCase();
通過以上演算法,可產生32位的16進制數據:

現在你就可以對其進行你的應用了。

6. android怎麼獲取APP的唯一標識applicationId

有很多場景和需求你需要用到手機設備的唯一標識符。例如,略。
在Android中,有以下幾種方法獲取這樣的ID。

1. The IMEI: 僅僅只對Android手機有效:
TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String szImei = TelephonyMgr.getDeviceId(); // Requires READ_PHONE_STATE

採用此種方法,需要在AndroidManifest.xml中加入一個許可:android.permission.READ_PHONE_STATE,並且用戶應當允許安裝此應用。作為手機來講,IMEI是唯一的,它應該類似於 359881030314356(除非你有一個沒有量產的手機(水貨)它可能有無效的IMEI,如:0000000000000)。
2. Pseudo-Unique ID, 這個在任何Android手機中都有效
有一些特殊的情況,一些如平板電腦的設置沒有通話功能,或者你不願加入READ_PHONE_STATE許可。而你仍然想獲得唯一序列號之類的東西。這時你可以通過取出ROM版本、製造商、CPU型號、以及其他硬體信息來實現這一點。這樣計算出來的ID不是唯一的(因為如果兩個手機應用了同樣的硬體以及Rom 鏡像)。但應當明白的是,出現類似情況的可能性基本可以忽略。要實現這一點,你可以使用Build類:
String m_szDevIDShort = "35" + //we make this look like a valid IMEI
Build.BOARD.length()%10+ Build.BRAND.length()%10 + Build.CPU_ABI.length()%10 + Build.DEVICE.length()%10 + Build.DISPLAY.length()%10 + Build.HOST.length()%10 + Build.ID.length()%10 + Build.MANUFACTURER.length()%10 + Build.MODEL.length()%10 + Build.PRODUCT.length()%10 + Build.TAGS.length()%10 + Build.TYPE.length()%10 + Build.USER.length()%10 ; //13 digits
大多數的Build成員都是字元串形式的,我們只取他們的長度信息。我們取到13個數字,並在前面加上「35」。這樣這個ID看起來就和15位IMEI一樣了。

7. Android應用怎麼實現免注冊,直接獲取手機唯一標識進行登錄

據說如果是山寨機的話 會可能出現重名
原理:本質上注冊只是要一個可以標志用戶的信息,手機硬體里是有這些信息的;所以可以獲取如手機mac馬,IMEI碼;sim信息等等來識別用戶;
優缺點:好處是看起來免注冊,實際上是程序自行注冊了;缺點是如果出現關鍵信息雷同,或者客戶更換設備,就會使得登陸失效;
相關資料:
獲取IMEI:
http://www.cnblogs.com/luxiaofeng54/archive/2011/03/01/1968063.html
獲取mac、ip
http://cncoke.iteye.com/blog/1560652

其他:也可以去開源中國看看

8. 怎樣才能讓一個手機app軟體識別你的手機為新設備

刷IMEI,設備信息就可以讓一個手機app軟體識別你的手機為新設備。

手機軟體,主要指安裝在智能手機上的軟體,完善原始系統的不足與個性化。使手機完善其功能,為用戶提供更豐富的使用體驗的主要手段。

手機軟體的運行需要有相應的手機系統,截至2017年6月1日,主要的手機系統:蘋果公司的iOS、谷歌公司的Android(安卓)系統、塞班平台和微軟平台。

主要特點

智能手機,是指像個人電腦一樣,具有獨立的操作系統、獨立的運行空間,可以由用戶自行安裝軟體、游戲、導航等第三方服務商提供的程序,並可以通過移動通訊網路來實現無線網路接入手機類型的總稱。

隨著智能手機的普及,人們在溝通、社交、娛樂等活動中越來越依賴於手機app軟體(app,英文application的簡稱,即應用軟體,通常是指iPhone、安卓等手機應用軟體)。手機軟體是通過分析,設計,編碼,生成軟體,而手機軟體是一種特殊的軟體。

9. 怎麼查看自己蘋果手機的設備標識

  1. 要查看UDID,首先要有iTunes或者蘋果設備的相關驅動。iTunes可以在蘋果官網下載。

閱讀全文

與應用軟體如何獲取手機設備標識相關的資料

熱點內容
電腦上怎麼下載班智達的軟體 瀏覽:1152
無痕跡消除圖片軟體 瀏覽:715
免費小票軟體 瀏覽:949
華為在哪裡設置軟體停止運行 瀏覽:956
用電腦鍵盤調節聲音大小 瀏覽:1255
自動刷軟體賺錢 瀏覽:1257
古裝連續劇免費版 瀏覽:1410
工免費漫畫 瀏覽:1141
手機軟體專門儲存文件 瀏覽:1504
uos如何用命令安裝軟體 瀏覽:1312
有線耳機插電腦麥克風 瀏覽:642
侏羅紀世界3在線觀看完整免費 瀏覽:991
單個軟體怎麼設置名稱 瀏覽:716
鳳凰網電腦版下載視頻怎麼下載視頻怎麼下載 瀏覽:1380
明白之後如何免費獲得無人機 瀏覽:827
如何解禁軟體菜單 瀏覽:847
副路由器連接電腦視頻 瀏覽:1347
內置wifi電視如何裝軟體 瀏覽:1098
手機換零免費雪碧 瀏覽:1584
國行蘋果如何下載美版軟體 瀏覽:1204