2016-12-07 54 views
0

我正在爲Android項目製作jar庫。我想獲取Android設備的藍牙MAC地址。但是在M os之後,mBluetoothAdapter.getAddress();不工作。
我必須使用 ContentResolver mContentResolver = mContext.getContentResolver(); address = Settings.Secure.getString(mContentResolver,SECURE_SETTINGS_BLUETOOTH_ADDRESS);是否有可能在android jar庫中獲取藍牙mac地址?

但是,在jar庫中,使用getContentResolver()獲取上下文是不可能的。 jar庫中的上下文不存在。

如何獲得藍牙MAC地址或上下文的jar文件庫中的bt mac?它沒有被批准從app到library傳遞上下文作爲輸入參數。對於這種情況,是否有通用的解決方案?

+0

唯一的辦法是強制你的圖書館的用戶給你他們的'Context',然後你就可以使用它。 –

+0

關於連接到android設備的遠程mac地址,它是不可能的? – Lightstar

回答

0

嘗試使用這個,可能是它會幫助: 不要忘記添加權限:

android.permission.BLUETOOTH 

然後:

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 

    // if device does not support Bluetooth 
    if(mBluetoothAdapter==null){ 
     Log.d(TAG,"device does not support bluetooth"); 
     return null; 
    } 

    return mBluetoothAdapter.getAddress(); 

或者你可以嘗試做這樣的方式:

String bluetoothAddress = android.provider.Settings.Secure.getString(context.getContentResolver(), "bluetooth_address"); 
相關問題