獲取裝置唯一識別碼和Mac地址
下面這個工具類提供了一些方法,可以獲取裝置AndroidID、IMEI、序列號、以及由他們組成的唯一識別碼、網絡卡的MAC地址、藍芽MAC地址。程式碼如下:
DeviceInfoUtil:
package com.home; import java.util.UUID; import android.bluetooth.BluetoothAdapter; import android.content.Context; import android.content.Intent; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.provider.Settings.Secure; import android.telephony.TelephonyManager; public class DeviceInfoUtil { /** * 得到裝置AndroidID,需要裝置新增 Google賬戶 * * @param context * @return */ public static String getAndroidID(Context context) { String androidID = Secure.getString(context.getContentResolver(), Secure.ANDROID_ID); return androidID; } /** * 得到裝置IMEI值 * * @param context * @return */ public static String getIMEI(Context context) { TelephonyManager tm = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); return tm.getDeviceId(); } /** * 得到裝置序列號 * * @param context * @return */ public static String getSimSerialNumber(Context context) { TelephonyManager tm = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); return tm.getSimSerialNumber(); } /** * 得到裝置唯一識別碼 * * @param context * @return */ public static String getUniqueNumber(Context context) { String androidID = getAndroidID(context); String imei = getIMEI(context); String simSerialNumber = getSimSerialNumber(context); UUID uuid = new UUID(androidID.hashCode(), ((long) imei.hashCode() << 32) | simSerialNumber.hashCode()); return uuid.toString(); } /** * 獲取裝置本身網絡卡的MAC地址 * * @param context * @return */ public static String getWLANMACAddress(Context context) { String macAddress = ""; WifiManager wm = (WifiManager) context .getSystemService(Context.WIFI_SERVICE); WifiInfo info = wm.getConnectionInfo(); if (info != null) { macAddress = info.getMacAddress(); } else { macAddress = "No Wifi Device"; } return macAddress; } /** * 獲取藍芽MAC地址 * * @param context * @return */ public static String getBluetoothMACAddress(Context context) { String btMacAddress = ""; BluetoothAdapter ba = BluetoothAdapter.getDefaultAdapter(); if (ba != null) { if (!ba.isEnabled()) { btMacAddress = "Bluetooth not open"; // 啟動藍芽 Intent in = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); context.startActivity(in); } else { btMacAddress = ba.getAddress(); } } else { btMacAddress = "No Bluetooth Device"; } return btMacAddress; } }
許可權:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
相關推薦
獲取裝置唯一識別碼和Mac地址
下面這個工具類提供了一些方法,可以獲取裝置AndroidID、IMEI、序列號、以及由他們組成的唯一識別碼、網絡卡的MAC地址、藍芽MAC地址。程式碼如下: DeviceInfoUtil: package com.home; import java.util.UUID;
(轉)獲取裝置唯一識別碼和Mac地址
下面這個工具類提供了一些方法,可以獲取裝置AndroidID、IMEI、序列號、以及由他們組成的唯一識別碼、網絡卡的MAC地址、藍芽MAC地址。程式碼如下: DeviceInfoUtil: 001.packagecom.home; 002. 003.importja
iOS 獲取裝置唯一識別碼 IDFV+keychain
最近專案中需要獲取到裝置的唯一標誌傳送給後臺儲存備用,在UDID UUID IDFA等都存在諸多問題(什麼問題可以自己查閱資料)的情況下,選擇了 IDFV+keychain(當然特殊情況下也存在些許問題,但基本無影響,非常夠用)。 identifierForVendor是a
HTML5+下用js獲取裝置的唯一識別碼和本地資料庫的操作
首先獲取裝置的唯一標識,由於ios稽核的阻擋,我現在只是獲取它idfa來作為唯一識別碼(這個會被重置,如果idfa不重要的話是可以考慮此方法的),Android就不用多說了if(ua.match(/iphone\sOS/i) == "iphone os"){//識別裝置ios
如何獲取Android裝置唯一識別碼
如果我們想唯一識別一臺Android裝置,就需要獲取裝置的唯一識別碼。怎麼獲取呢? 下面是Android裝置一些可供選擇的唯一識別碼及其適用範圍: IMEI (International Mobile Equipment Identity Number,國際移動裝置識別碼) 用於在手機網路中識別
Android 手機獲取物理唯一標識碼和IMEI號和IMSI號
開發者可以通過物理唯一標識碼和IMEI號 來得知 應用有多少使用者安裝,或者正在使用。 物理唯一標識碼 即 ANDROID_ID 是手機系統的唯一號碼。 IMEI號是唯一識別手機的號碼。 IMSI號是與SIM唯一對應的號碼 優缺點: 1.ANDROID_
Android獲取裝置唯一標識碼
話不多說,先貼程式碼 /**獲取裝置唯一標識碼 * @param context 上下文 * @return 裝置唯一標識碼 */ public static String getUDID
獲取手機唯一識別碼
package com.shkf.util; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import android.annotation.Supp
獲取手機唯一識別碼IMEI
1. 前言 獲取IMEI相信大家非常熟悉,但是專案中使用時,發現當手機卡為電信的時候,獲取的並不是IMEI,而是MEID,什麼是MEID,為什麼會出現這種情況呢? IMEI國際移動裝置識別碼(IMEI:International Mobile Equipme
android 獲取手機唯一識別碼
//如果獲取不到imsi號,就拼接其它資訊獲取唯一碼: 結論是,依然有部分手機獲取不到。 final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context
獲取Android裝置的唯一識別碼|裝置號|序號|UUID
如何獲取一個能唯一標識每臺Android裝置的序號? 這個問題有很多答案,但是他們中的大部分只在某些情況下有效。 根據測試: 所有的裝置都可以返回一個 TelephonyManager.getDeviceId() 所有的GSM裝置 (測試裝置都裝載有SIM卡) 可以
Android之如何獲取Android裝置的唯一識別碼筆記
因為需要在專案中需要獲得一個穩定、可靠的裝置唯一識別碼,因此搜了一些網上的資料。今天我們將介紹幾種方式。 1. DEVICE_ID 假設我們確實需要用到真實裝置的標識,可能就需要用到DEVICE_ID。在以前,我們的Android裝置是手機,這個 DE
根據mac地址+deviceid獲取裝置唯一編碼 獲取手機及SIM卡相關資訊
根據mac地址+deviceid獲取裝置唯一編碼: private static String DEVICEKEY = ""; /** * 根據mac地址+deviceid
獲取Android裝置的唯一識別碼
1、所有的裝置都可以返回一個 TelephonyManager.getDeviceId() 2、所有的GSM裝置 (測試裝置都裝載有SIM卡) 可以返回一個TelephonyManager.getSimSerialNumber() 3、所有的CDMA 裝置對於
獲取Android裝置的唯一識別碼UUID
如何獲取一個能唯一標識每臺Android裝置的序號? 這個問題有很多答案,但是他們中的大部分只在某些情況下有效。 根據測試: 所有的裝置都可以返回一個 TelephonyManager.getDeviceId() 所有的GSM裝置 (測試裝置都裝載有
Android獲取裝置IMEI和Mac地址
public static boolean checkPermission(Context context, String permission) { boolean result = false; if (Build.VERSION
Android裝置獲取唯一識別碼
Android系統以及裝置都有很多的“標識”號,比如常見的IMEI,SerizalNumber,UUID等概念,但是這些都存在一定程度上的不可靠性,到底如何標記一臺Android裝置? DEVICE_ID 假設我們確實需要用到真實裝置的標識,可能就需要用到DEVICE
LINUX下獲取網絡卡IP地址和MAC地址,子網掩碼程式參考
/* mode time:20120727 LINUX下獲取IP地址和MAC地址.程式相關結構體在程式後面。 列印網絡卡的ip地址 子網掩碼 廣播地址 mac地址 環境: [[email protected] temp]# uname -a Linux b
C/C++:Windows程式設計—程式碼獲取本地所有網絡卡資訊(網絡卡描述,IP地址,子網掩碼,MAC地址)
先看效果 看程式碼 使用 GetAdaptersInfo 函式獲取網絡卡的所有資訊。 MSDN函式說明 https://docs.microsoft.com/en-us/windows/desktop/api/iphlpapi/nf-iphlpapi-getadapters
獲取Android裝置唯一標識碼
唯一標識碼這東西在網路應用中非常有用,例如檢測是否重複註冊之類的。import android.provider.Settings.Secure;private String android_id = Secure.getString(getContext().getContentResolver(),