Android - 在nexus设备上没有蓝牙发现超时

时间:2016-09-20 07:56:26

标签: android bluetooth

我写了一个小应用程序,打开BT发现120秒 它可以在许多设备上完美运行,例如:galaxy 6s(5.0.1)和galaxy 6s(6.0.1)以及Meizu mx4,onePlus 1和更多, - 除了所有nexus设备,他们有android版本6.0.1-- 这是代码 -

Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,120); 
startActivity(discoverableIntent);

我将这些权限添加到清单

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH" />

为什么它只能在Nexus设备上使用?

1 个答案:

答案 0 :(得分:0)

如果您运行的Android版本是Android 6.x,我相信您需要为清单添加ACCESS_COURSE_LOCATION权限。例如:

检查此链接: - https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-hardware-id

要通过蓝牙和Wi-Fi扫描访问附近外部设备的硬件标识符,您的应用现在必须具有ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION权限