1. 程式人生 > >Android獲取本機藍芽地址

Android獲取本機藍芽地址

從Android6.0開始,通過BluetoothAdapter.getDefaultAdapter().getAddress()獲取的地址是一個固定值02:00:00:00:00:00,部分從低版本升級到6.0的手機也還是可以獲取真實的MAC地址的。下面通過反射的方式

獲取藍芽地址:

public static String getBtAddressByReflection() {
        BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
        Field field = null;
        try {
            field = BluetoothAdapter.class.getDeclaredField("mService");
            field.setAccessible(true);
            Object bluetoothManagerService = field.get(bluetoothAdapter);
            if (bluetoothManagerService == null) {
                return null;
            }
            Method method = bluetoothManagerService.getClass().getMethod("getAddress");
            if(method != null) {
               Object obj = method.invoke(bluetoothManagerService);
               if(obj != null) {
                    return obj.toString();
               }
            }
        } catch (NoSuchFieldException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
        return null;
    }


相關推薦

Android獲取地址

從Android6.0開始,通過BluetoothAdapter.getDefaultAdapter().getAddress()獲取的地址是一個固定值02:00:00:00:00:00,部分從低版本

獲取的ip地址(排除虛擬牙等ip)

運行 exception play pla 過濾 contains network localhost static 項目中遇到了要獲取本地ip的需求,網上查找資料遇到很多坑,很多Java獲取本機ip地址的方法要麽是根本獲取不到,要麽是獲取的有問題。 網上常見的方法如下 I

Android開發之(Bluetooth)操作(二)--修改裝置的可見性,並掃描周圍可用的裝置

一. 修改本機藍芽裝置的可見性 二. 掃描周圍可用的藍芽裝置 Eg: 一.  清單檔案AdroidManifest.xml: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=

Linux雲主機獲取公網IP地址

forever linux ip地址 主機 因為公司的雲主機使用ifconfig和ip add命令都只能看到內網IP地址,而腳本裏面又需要獲取公網IP地址進行一些動作;# ip ad 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc

linux 獲取MAC/IP地址的方法

linunx 編程 mac 地址功能:查詢本機IP/MAC地址,過濾掉127.0.0.1 loop-back 地址適用:linux, ubuntu 16.04 調試通過#include <stdlib.h>#include <stdio.h>#include <unistd.h&

使用Linux curl命令獲取公網IP地址

使用Linux curl命令獲取本機公共IP地址   在本教程中,我們將學習如何使用Linux curl命令查詢計算機的公共IP地址。 通常,如果我們想要找到我們使用的公共IP地址,我們會去谷歌並搜尋“我的IP地址是什麼”。但是如果使用Linux,則可以使用curl命令從命令列

C# 獲取的IP地址

控制檯命令程式:       string name = Dns.GetHostName();             IPAddress[] ipadrlist = Dns.GetHostAddresses(name);             foreach (IP

Android 獲取的mac和wifi的BSSID(mac)以及其他資訊

一上班就開始總結上禮拜寫的wifi,先來說說wifi的屬性 在Android的官方文件中定義瞭如下五種狀態: WIFI_STATE_DISABLED   WIFI 不可用  WIFI_STATE_DISABLING  WIFI 正在關閉  WIFI_STATE_ENABL

cocos2dx獲取全部ip地址。。。

使用的是raknet中獲取網絡卡的方式,支援linux,ios,安卓系統。未支援win。 #if defined(ANDROID) void UdpSocket::getHostIpByString( char ipList[ MAXIMUM_NUMBER_OF_INT

Android獲取唯一序列號和可變UUID方法

UUID+裝置號序列號 唯一識別碼(不可變) private String getMyUUID(){   final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Con

Android獲取號碼(雙卡雙待無法獲取兩個號碼)

        搞了一個想獲取Android手機的本機號碼的功能,但是發現雙卡雙待的手機是無法獲取到兩個號碼 的。在Android的官方文件是沒有提供相應的Api的,因為標準的Andoird是沒有雙卡的,好像也只有國內才會搞雙卡雙待的神器吧。以下記錄一下做這個功能所學習到的

Android獲取IP並轉換為ipv4的形式

//獲取本機IP地址 private String getLocalIpAddress() throws UnknownHostException { WifiManager wifiManager = (WifiManager) getSystemService(W

第二十篇 Android獲取圖片、音訊、視訊、文件以及本地資料夾列表

android獲取本機圖片資料夾,即相簿,以及相簿下的所有圖片的方法,貼出工具類,方便後續使用,效果圖就類似百度網盤上傳圖片的 選擇相簿介面和點選某個相簿選擇圖片的介面. FileManager類: public class FileManager { p

Qt 獲取的IP地址、Mac地址

獲取IP地址 QString getHostIpAddress() { QString strIpAddress; QList<QHostAddress> ipAddres

Python獲取所有IP地址

眾所周知,Python標準庫socket中有可以獲取本機IPV4地址的方法,下面是網上非常常見的一種用法: >>> import socket >>> hostname = socket.gethostname() >>&g

Java獲取的ip地址

說到獲取ip地址,有人可能會想到,直接用InetAddress.getLocalHost().getHostAddress()。實際上這個是不對的,因為一臺機器上可能有多個網路介面(一般指網絡卡或者虛擬網絡卡),因此也就有多個ip地址,所以我們需要列出所有的網路介面及其對應

Android獲取區域網IP的方法

直接貼程式碼,主要利用正則表示式匹配區域網ippackage com.rongyan.clienttest; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.So

用java程式碼如何獲取的IP地址和主機名

InetAddress localhost = InetAddress.getLocalHost();  System.out.println ("localhost: "+localhost.get

Android獲取地址(非mac地址

方法: public static String getBlueToothAddress(Context context){ return android.provider.Settings.Secure.getString(context.getContentResol

android 獲取地址名字

protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(RESULE_OP