[英]Android unique id assigning
我有一個Android應用程序,用戶可以在其中連接和斷開服務器連接。 我不想在應用程序中進行任何注冊,但是我希望服務器識別已經連接到服務器的用戶。 一種方法是使用Google Play服務和實例ID API ,方法是在每次客戶端連接時將gcm生成的ID發送到服務器。 使用Google Play服務API,我還可以很輕松地實現推送通知。 但是,我覺得我並不需要它們,以后我還必須實現ios和Web客戶端。 Afaik沒有適用於網絡的Google Play服務API,因此提出了一個問題:還有其他替代方案嗎?
我理解問題的方式是,您想要一個對每個設備都是唯一的uniqueId,並且您不想要我們從GCM獲得的注冊ID。 因此,您擁有每個設備唯一的設備ID,並且有一種獲取設備ID的方法
public String uniqueId() {
final TelephonyManager tm = (TelephonyManager) mContext
.getSystemService(Context.TELEPHONY_SERVICE);
final String tmDevice, tmSerial, androidId;
tmDevice = "" + tm.getDeviceId();
tmSerial = "" + tm.getSimSerialNumber();
androidId = ""
+ android.provider.Settings.Secure.getString(
mContext.getContentResolver(),
android.provider.Settings.Secure.ANDROID_ID);
UUID deviceUuid = new UUID(androidId.hashCode(),
((long) tmDevice.hashCode() << 32) | tmSerial.hashCode());
String deviceId = deviceUuid.toString();
return deviceId;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.