android怎麼提供設備id
㈠ 如何獲取Android移動終端設備唯一ID
我自己以前用的一個工具類,用到了uuid,給你一用吧
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.UUID;
import android.content.Context;
public class Installation {
private static String sID = null;
private static final String INSTALLATION = "INSTALLATION";
public synchronized static String id(Context context) {
if (sID == null) {
File installation = new File(context.getFilesDir(), INSTALLATION);
try {
if (!installation.exists())
writeInstallationFile(installation);
sID = readInstallationFile(installation);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
return sID;
}
private static String readInstallationFile(File installation)
throws IOException {
RandomAccessFile f = new RandomAccessFile(installation, "r");
byte[] bytes = new byte[(int) f.length()];
f.readFully(bytes);
f.close();
return new String(bytes);
}
private static void writeInstallationFile(File installation)
throws IOException {
FileOutputStream out = new FileOutputStream(installation);
String id = UUID.randomUUID().toString();
out.write(id.getBytes());
out.close();
}
}
// 調用方法
// 獲取標識
String SerialNumber = "";
SerialNumber = Installation.id(mContext); // 靜態方法,直接調用
㈡ 如何獲取android設備id
Android設備不同類型的識別設備ID。
· 唯一編號(,MEID,ESN,IMSI)
· MAC地址
· 序列號
· ANDROID_ID
唯一編號(IMEI,MEID,ESN,IMSI)
說明在以前,當Android設備均作為電話使用時,尋找唯一標識號比較簡單:()可用於找到(取決於網路技術)手機硬體唯一的IMEI,MEID,ESN和IMSI編號。
TelephonyManager.getDeviceId
IMEI,MEID,ESN,IMSI的定義如下:
•IMEI(國際移動設備識別碼)唯一編號,用於識別 GSM,WCDMA手機以及一些衛星電話(移動設備識別碼)全球唯一編號,用於識別CDMA移動電台設備的物理硬體,MEID出現的目的是取代ESN號段(電子序列號)(電子序列號)唯一編號,用於識別CDMA手機(國際移動用戶識別碼)與所有GSM和UMTS網路手機用戶相關聯的唯一識別編號如需要檢索設備的ID,在項目中要使用以下代碼:
•MEID
•ESN
•IMSI
import android.telephony.TelephonyManager;
import android.content.Context;
String imeistring = null;
String imsistring = null;
{
TelephonyManager telephonyManager;
telephonyManager =
( TelephonyManager )getSystemService( Context.TELEPHONY_SERVICE );
/*
* getDeviceId() function Returns the unique device ID.
* for example,the IMEI for GSM and the MEID or ESN for CDMA phones.
*/
imeistring = telephonyManager.getDeviceId();
/*
* getSubscriberId() function Returns the unique subscriber ID,
* for example, the IMSI for a GSM phone.
*/
imsistring = telephonyManager.getSubscriberId();
}
㈢ 如何查看android的設備id
java獲得android的imei號步驟: 1、許可權添加: <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 2、調用android的api TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); String IMEI = telephonyManager.getDeviceId(); 3、adb命令獲得內: adb shell mpsys iphonesubinfo 4、任何手機都可容以在撥打電話的界面輸入*#06# 來查看IMEI。
㈣ Android如何獲取到唯一的設備ID
如果你想要得到設備本身的唯一值, TM.getDeviceId()應該是足夠了。不過顯然的,有些用戶內比其他人更加偏執一些,可以將容這些標識中的一個或者多個進行hash運算就很有用,生成的字元串仍然可以唯一標識該設備,但是不會明確的標識實際的設備。例如,使用String.hashCode(),再加上一個UUID,這里有詳細的代碼》》
㈤ 如何查看自己安卓手機的Android Device ID
1、打開撥號界面。

(5)android怎麼提供設備id擴展閱讀:
AndroidID用於唯一識別一部設備的一次刷機行為,雖然不能完全確定該設備的唯一性(真的唯一性是用IMEI號的),但是可以很大程度上過濾重復設備。
這是移動互聯網廣告行業,尤其是CPI廣告的基礎。設備ID非常重要。CPI廣告是根據實際安裝數量計費的,廣告商可以使用androidid來排除重復安裝。傳遞一個AndroidID直接影響到某些廣告是否會被放置在某些位置。
在RTB行業中,有很多提供數據的第三方公司,他們根據AndroidID買賣數據,將各種數據對應給用戶。
㈥ Android Device ID怎麼獲取
final TelephonyManager tm = (TelephonyManager)getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
String tmDevice = "" + tm.getDeviceId();
Android ID用於唯一識別一部設備的一次刷機行為,雖然不能完全確定該設備的唯一性(真的唯一性是用回IMEI號的答),但是可以很大程度上過濾重復設備。這是移動互聯網廣告行業的基礎,尤其是CPI廣告,設備ID是非常重要的。CPI廣告是按照實際的安裝數量結算的,廣告主可以用android id來排除重復的安裝。能否傳遞android id直接影響某些廣告是否能在某些地方投放。
㈦ android能夠獲取到唯一的設備id嗎
blog/boonya/article/details/39396331 Android的開發者在一些特定情況下都需要知道手機中的唯一設備ID。例如,跟蹤應用程序的安裝,生成用於復制保護的DRM時需要使用設備的唯一ID。在本文檔結尾處提供了作為參考的示例代碼片段。 范圍 本文提供有關如何讀取各種Android設備的 ID的介紹,用以使用標識號。本文假定用戶已經安裝了Android以及開發應用程序必要的工具。並且,本文假定用戶已了解Android的基本知識。 簡介 在搭載Android操作系統的設備中,已經存在好幾種類型的設備標識號。先前的所有Android設備都具有電話功能,因此查找每部設備硬體唯一的IMEI,MEID,或ESN也很容易。但僅能使用Wifi的設備或音樂播放器沒有電話硬體,所以沒有這種類型的唯一標識號。本文闡述了如何讀取不同Android設備的標識號。 檢索Android設備ID各種方式 以下是Android設備不同類型的識別設備ID。 · 唯一編號(IMEI,MEID,ESN,IMSI) · MAC地址 · 序列號 · ANDROID_ID 唯一編號(IMEI,MEID,ESN,IMSI) 說明在以前,當Android設備均作為電話使用時,尋找唯一標識號比較簡單:()可用於找到(取決於網路技術)手機硬體唯一的IMEI,MEID,ESN和IMSI編號。 TelephonyManager.getDeviceId IMEI,MEID,ESN,IMSI的定義如下: •IMEI(國際移動設備識別碼)唯一編號,用於識別 GSM,WCDMA手機以及一些衛星電話(移動設備識別碼)全球唯一編號,用於識別CDMA移動電台設備的物理硬體,MEID出現的目的是取代ESN號段(電子序列號)(電子序列號)唯一編號,用於識別CDMA手機(國際移動用戶識別碼)與所有GSM和UMTS網路手機用戶相關聯的唯一識別編號如需要檢索設備的ID,在項目中要使用以下代碼: •MEID •ESN •IMSI import android.telephony.TelephonyManager; import android.content.Context; String imeistring = null; String imsistring = null; { TelephonyManager telephonyManager; telephonyManager = ( TelephonyManager )getSystemService( Context.TELEPHONY_SERVICE ); /* * getDeviceId() function Returns the unique device ID. * for example,the IMEI for GSM and the MEID or ESN for CDMA phones. */ imeistring = telephonyManager.getDeviceId(); /* * getSubscriberId() function Returns the unique subscriber ID, * for example, the IMSI for a GSM phone. */ imsistring = telephonyManager.getSubscriberId(); } 如要只讀取手機的狀態,則需添加READ_PHONE_STATE許可到AndroidManifest.xml文件中。 <uses-permission android:name="android.permission.READ_PHONE_ST 缺點 •Android設備要具有電話功能 •其工作不是很可靠 •序列號 •當其工作時,該值保留了設備的重置信息(「恢復出廠設置」),從而可以消除當客戶刪除自己設備上的信息,並把設備轉另一個人時發生的錯誤。 Mac地址 說明 可通過檢索找到設備的Wi - Fi或藍牙硬體的Mac地址。但是,不推薦使用Mac地址作為唯一的標識號。 缺點設備要具備Wi – Fi功能(並非所有的設備都有Wi – Fi功能)如果設備目前正在使用Wi - Fi,則不能報告Mac地址 序列號 從Android 2.3(「姜餅」)開始,通過android.os.Build.SERIAL方法序列號可被使用。沒有電話功能的設備也都需要上給出唯一的設備ID; 某些手機也可以需要這樣做。序列號可以用於識別MID(移動互聯網設備)或PMP(攜帶型媒體播放器),這兩種設備都沒有電話功能。通過讀取系統屬性值「ro.serialno」的方法,可以使用序列號作為設備ID 。 import java.lang.reflect.Method; String serialnum = null; try { Class<?> c = Class.forName("android.os.SystemProperties"); Method get = c.getMethod("get", String.class, String.class ); serialnum = (String)( get.invoke(c, "ro.serialno", "unknown" ) ); } catch (Exception ignored) { } 缺點 序列號無法在所有Android設備上使用。 ANDROID_ID 說明 更具體地說,Settings.Secure.ANDROID_ID 是一串64位的編碼(十六進制的字元串),是隨機生成的設備的第一個引導,其記錄著一個固定值,通過它可以知道設備的壽命(在設備恢復出廠設置後,該值可能會改變)。 ANDROID_ID也可視為作為唯一設備標識號的一個好選擇。如要檢索用於設備ID 的ANDROID_ID,請參閱下面的示例代碼 String androidId = Settings.Secure.getString(getContentResolver(),Settings.Secure.ANDROID_ID);
㈧ Android能夠獲取到唯一的設備ID嗎
http://blog.csdn.net/boonya/article/details/39396331
Android的開發者在一些特定情況下都需要知道手機中的唯一設備ID。例如,跟蹤應用程序的安裝,生成用於復制保護的DRM時需要使用設備的唯一ID。在本文檔結尾處提供了作為參考的示例代碼片段。
范圍
本文提供有關如何讀取各種Android設備的 ID的介紹,用以使用標識號。本文假定用戶已經安裝了Android以及開發應用程序必要的工具。並且,本文假定用戶已了解Android的基本知識。
簡介
在搭載Android操作系統的設備中,已經存在好幾種類型的設備標識號。先前的所有Android設備都具有電話功能,因此查找每部設備硬體唯一的IMEI,MEID,或ESN也很容易。但僅能使用Wifi的設備或音樂播放器沒有電話硬體,所以沒有這種類型的唯一標識號。本文闡述了如何讀取不同Android設備的標識號。
檢索Android設備ID各種方式
以下是Android設備不同類型的識別設備ID。
· 唯一編號(IMEI,MEID,ESN,IMSI)
· MAC地址
· 序列號
· ANDROID_ID
唯一編號(IMEI,MEID,ESN,IMSI)
說明在以前,當Android設備均作為電話使用時,尋找唯一標識號比較簡單:()可用於找到(取決於網路技術)手機硬體唯一的IMEI,MEID,ESN和IMSI編號。
TelephonyManager.getDeviceId
IMEI,MEID,ESN,IMSI的定義如下:
•IMEI(國際移動設備識別碼)唯一編號,用於識別 GSM,WCDMA手機以及一些衛星電話(移動設備識別碼)全球唯一編號,用於識別CDMA移動電台設備的物理硬體,MEID出現的目的是取代ESN號段(電子序列號)(電子序列號)唯一編號,用於識別CDMA手機(國際移動用戶識別碼)與所有GSM和UMTS網路手機用戶相關聯的唯一識別編號如需要檢索設備的ID,在項目中要使用以下代碼:
•MEID
•ESN
•IMSI
import android.telephony.TelephonyManager;
import android.content.Context;
String imeistring = null;
String imsistring = null;
{
TelephonyManager telephonyManager;
telephonyManager =
( TelephonyManager )getSystemService( Context.TELEPHONY_SERVICE );
/*
* getDeviceId() function Returns the unique device ID.
* for example,the IMEI for GSM and the MEID or ESN for CDMA phones.
*/
imeistring = telephonyManager.getDeviceId();
/*
* getSubscriberId() function Returns the unique subscriber ID,
* for example, the IMSI for a GSM phone.
*/
imsistring = telephonyManager.getSubscriberId();
}
如要只讀取手機的狀態,則需添加READ_PHONE_STATE許可到AndroidManifest.xml文件中。
<uses-permission android:name="android.permission.READ_PHONE_ST
缺點
•Android設備要具有電話功能
•其工作不是很可靠
•序列號
•當其工作時,該值保留了設備的重置信息(「恢復出廠設置」),從而可以消除當客戶刪除自己設備上的信息,並把設備轉另一個人時發生的錯誤。
Mac地址
說明
可通過檢索找到設備的Wi - Fi或藍牙硬體的Mac地址。但是,不推薦使用Mac地址作為唯一的標識號。
缺點設備要具備Wi – Fi功能(並非所有的設備都有Wi – Fi功能)如果設備目前正在使用Wi - Fi,則不能報告Mac地址
序列號
從Android 2.3(「姜餅」)開始,通過android.os.Build.SERIAL方法序列號可被使用。沒有電話功能的設備也都需要上給出唯一的設備ID; 某些手機也可以需要這樣做。序列號可以用於識別MID(移動互聯網設備)或PMP(攜帶型媒體播放器),這兩種設備都沒有電話功能。通過讀取系統屬性值「ro.serialno」的方法,可以使用序列號作為設備ID 。
import java.lang.reflect.Method;
String serialnum = null;
try {
Class<?> c = Class.forName("android.os.SystemProperties");
Method get = c.getMethod("get", String.class, String.class );
serialnum = (String)( get.invoke(c, "ro.serialno", "unknown" ) );
}
catch (Exception ignored)
{
}
缺點
序列號無法在所有Android設備上使用。
ANDROID_ID
說明
更具體地說,Settings.Secure.ANDROID_ID 是一串64位的編碼(十六進制的字元串),是隨機生成的設備的第一個引導,其記錄著一個固定值,通過它可以知道設備的壽命(在設備恢復出廠設置後,該值可能會改變)。 ANDROID_ID也可視為作為唯一設備標識號的一個好選擇。如要檢索用於設備ID 的ANDROID_ID,請參閱下面的示例代碼
String androidId = Settings.Secure.getString(getContentResolver(),Settings.Secure.ANDROID_ID);
㈨ 怎麼獲取Android移動終端設備唯一ID
publicstaticStringgetIMEI(Contextcontext){
=(TelephonyManager)context.getSystemService(context.TELEPHONY_SERVICE);
Stringimei=telephonyManager.getDeviceId();
returnimei;
}
