【问题标题】:Why android hides bluetooth mac address?为什么android隐藏蓝牙mac地址?
【发布时间】:2018-07-05 20:13:27
【问题描述】:

我正在尝试以这种方式获取蓝牙mac地址:

mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

String address = mBluetoothAdapter.getAddress();

但它总是返回:

02:00:00:00:00:00

为什么?它是一种安全策略吗?

谢谢。

贾科莫

【问题讨论】:

标签: java android android-bluetooth


【解决方案1】:

也许你应该看看this的答案。

答案摘录:

 private String getBluetoothMac(final Context context) {

    String result = null;
    if (context.checkCallingOrSelfPermission(Manifest.permission.BLUETOOTH)
            == PackageManager.PERMISSION_GRANTED) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            // Hardware ID are restricted in Android 6+
            // https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-hardware-id
            // Getting bluetooth mac via reflection for devices with Android 6+
            result = android.provider.Settings.Secure.getString(context.getContentResolver(),
                    "bluetooth_address");
        } else {
            BluetoothAdapter bta = BluetoothAdapter.getDefaultAdapter();
            result = bta != null ? bta.getAddress() : "";
        }
    }
    return result;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-30
    • 1970-01-01
    • 2014-10-28
    • 2015-04-24
    • 2022-06-13
    • 2020-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多