2015-12-04 59 views
1

我正在開發一個需要爲運行此應用的每個設備激活的android應用項目。 在Windows PC上,我知道一些解決方案,比如使用HDD的序列號作爲激活過程的唯一標識符。每個Android設備的唯一身份,gsm和非gsm

但我需要一種方式來使用Android設備不支持SIM卡,所以這些設備沒有IMEI序列。

更好的說,我需要一個獨特的因素在所有Android設備上,支持和不支持SIM卡。

問候 阿拉木圖

+1

http://android-developers.blogspot.com/2011/03/identifying-app-installations.html –

+1

HTTP: //developer.samsung.com/technical-doc/view.do?v=T000000103 – koutuk

+0

我真的很想知道投票的原因! –

回答

1

你可以用這個代碼也

進口android.provider.Settings.Secure嘗試;

private String android_id = Secure.getString(getContext()。getContentResolver(), Secure.ANDROID_ID);

這將保持不變util的設備得到抹去這是一個罕見的情況......

+0

會很快,很好的答案,乾淨和簡單 –

0

您可以使用設備ID作爲唯一標識符激活。如果設備有一個IMEI,你可以使用它,或者你可以使用建串口,下面的代碼將幫助您

/** 
* Fetch the device IMEI number. 
* 
* @param context Calling context 
* @return IMEI number as string. 
*/ 
public static String getDeviceImei(Context context) { 
    TelephonyManager telephonyManager = (TelephonyManager) context 
      .getSystemService(Context.TELEPHONY_SERVICE); 
    return telephonyManager.getDeviceId(); 
} 

/** 
* To get the device Id either in terms of IMEI number (For GSM phones) or Build.SERIAL for 
* non-GSM phones/tablets. 
* 
* @param context Calling context 
* @return Device Id. 
*/ 
public static String getDeviceId(Context context) { 
    String deviceId = getDeviceImei(context); 
    if (TextUtils.isEmpty(deviceId)) { 
     deviceId = Build.SERIAL; 
    } 
    return deviceId; 
} 
+0

爲什麼降票?如果選民解釋 – droidev