2016-12-07 76 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"); 
相关问题