国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【Android】獲取系統(tǒng)的一些mac地址

frolc / 1085人閱讀

摘要:在開發(fā)過程中,有時(shí)我們需要獲取系統(tǒng)的一些硬件信息。在這里,介紹一些硬件信息的獲取方法,其中包括是指設(shè)備的藍(lán)牙地址。

??在開發(fā)過程中,有時(shí)我們需要獲取系統(tǒng)的一些硬件信息。在這里,介紹一些硬件信息的獲取方法,其中包括BT mac, BLE mac,WIFI mac, WIFI DIRECT mac.

BT mac

??BT mac是指設(shè)備的藍(lán)牙地址。獲取方法如下:

BluetoothManager btManager = (BluetoothManager) getContext().getSystemService(Context.BLUETOOTH_SERVICE);
BluetoothAdapter btAdapter = btManager.getAdapter();
String btMac;
//在6.0版本以后,獲取硬件ID變得更加嚴(yán)格,所以通過設(shè)備的地址映射得到mac地址
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
??btMac = android.provider.Settings.Secure.getString(getContext.getContentResolver(), "bluetooth_address");
}else {
??btMac = btAdapter.getAddress();
}

private String getBluetoothMacAddress() {
    BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    String bluetoothMacAddress = "";
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M){
        try {
            Field mServiceField = bluetoothAdapter.getClass().getDeclaredField("mService");
            mServiceField.setAccessible(true);

            Object btManagerService = mServiceField.get(bluetoothAdapter);

            if (btManagerService != null) {
                bluetoothMacAddress = (String) btManagerService.getClass().getMethod("getAddress").invoke(btManagerService);
            }
        } catch (NoSuchFieldException e) {

        } catch (NoSuchMethodException e) {

        } catch (IllegalAccessException e) {

        } catch (InvocationTargetException e) {

        }
    } else {
        bluetoothMacAddress = bluetoothAdapter.getAddress();
    }
    return bluetoothMacAddress;
}

BLE mac

??BLE mac是指設(shè)備的藍(lán)牙低能耗模塊的地址,一般來說,其值和BT mac相等

WIFI mac

??WIFI mac是指設(shè)備進(jìn)行wifi連接時(shí)的地址,獲取方法如下:

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo(); 
String wifiMac = wifiInfo.getMacAddress();

WIFI DIRECT mac

??WIFI DIRECT mac是指設(shè)備進(jìn)行wifi直連時(shí)自身的地址,獲取方法如下(由于android自身的api目前還沒有直接獲取的方法,所以使用java的api進(jìn)行獲取):

public String getWFDMacAddress(){
    try {
        List interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
        for (NetworkInterface ntwInterface : interfaces) {

            if (ntwInterface.getName().equalsIgnoreCase("p2p0")) {
                byte[] byteMac = ntwInterface.getHardwareAddress();
                if (byteMac==null){
                    return null;
                }
                StringBuilder strBuilder = new StringBuilder();
                for (int i=0; i0){
                    strBuilder.deleteCharAt(strBuilder.length()-1);
                }

                return strBuilder.toString();
            }

        }
    } catch (Exception e) {
        Log.d(TAG, e.getMessage());
    }
    return null;
}

參考:
How do you retrieve the WiFi Direct MAC address?--stackoverflow

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/66832.html

相關(guān)文章

  • 一文讀懂Flutter搭建與運(yùn)行

    摘要:在本文中,我們將帶大家進(jìn)一步了解的搭建與運(yùn)行。操作系統(tǒng)或更高版本磁盤空間工具依賴或更新的版本和命令行工具這些命令行工具。運(yùn)行應(yīng)用程序定位到工具欄在中選擇一個(gè)運(yùn)行該應(yīng)用的設(shè)備。 作者:個(gè)推iOS開發(fā)工程師 伊澤瑞爾 Flutter是Google推出的跨平臺(tái)的解決方案,用以幫助開發(fā)者在 Android 和 iOS 兩個(gè)平臺(tái)開發(fā)高質(zhì)量原生應(yīng)用的全新移動(dòng) UI 框架。 之前我們?yōu)榇蠹医榻B了《跨...

    JayChen 評論0 收藏0
  • 淺談跨平臺(tái)框架Flutter搭建與運(yùn)行

    摘要:在本文中,我們將帶大家進(jìn)一步了解的搭建與運(yùn)行。操作系統(tǒng)或更高版本磁盤空間工具依賴或更新的版本和命令行工具這些命令行工具。運(yùn)行應(yīng)用程序定位到工具欄在中選擇一個(gè)運(yùn)行該應(yīng)用的設(shè)備。 作者:個(gè)推iOS開發(fā)工程師 伊澤瑞爾 Flutter是Google推出的跨平臺(tái)的解決方案,用以幫助開發(fā)者在 Android 和 iOS 兩個(gè)平臺(tái)開發(fā)高質(zhì)量原生應(yīng)用的全新移動(dòng) UI 框架。 之前我們?yōu)榇蠹医榻B了《跨...

    Alan 評論0 收藏0
  • 淺談跨平臺(tái)框架Flutter搭建與運(yùn)行

    摘要:在本文中,我們將帶大家進(jìn)一步了解的搭建與運(yùn)行。操作系統(tǒng)或更高版本磁盤空間工具依賴或更新的版本和命令行工具這些命令行工具。運(yùn)行應(yīng)用程序定位到工具欄在中選擇一個(gè)運(yùn)行該應(yīng)用的設(shè)備。作者:個(gè)推iOS開發(fā)工程師 伊澤瑞爾Flutter是Google推出的跨平臺(tái)的解決方案,用以幫助開發(fā)者在 Android 和 iOS 兩個(gè)平臺(tái)開發(fā)高質(zhì)量原生應(yīng)用的全新移動(dòng) UI 框架。 之前我們?yōu)榇蠹医榻B了《跨平臺(tái)框架F...

    ytwman 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<