0

我希望能够自动打开 android 设备上的可发现性,而不会提示用户使用安全对话框。

我正在开发两个应用程序,一个用于 Android 电视盒,一个用于我的智能手机。我希望能够使用我的智能手机控制 android 电视盒,但是我想做到这一点而不需要在电视盒上手动打开可发现性,因为这需要某种遥控器完全破坏应用程序的要点。

是否有另一种方法可以通过我可以使用的 API 实现可发现性 - 最好是通过服务。

谢谢,

内森。

4

2 回答 2

2

哇,4年过去了。作为对我年轻时自己的回答,我认为你试图做的事情是不可能的,正如你自己所说的那样,这是一个安全问题(你自己引用了一个“安全对话”)。

如果应用程序可以随时打开蓝牙,并且可以完全秘密地访问整个蓝牙硬件,那么该应用程序可能会恶意破坏 Android 操作系统的某些部分并删除或更糟;分发用户的个人信息。

相反,您将看到的是实现计算机外围设备制造商使用无线键盘和鼠标实现的系统,即将蓝牙连接提取到单独的硬件层(USB 加密狗)并通过 USB 实现人机接口设备,从而在打开过滤蓝牙连接以仅允许向设备发送 HID 输入信息。

对4年前的自己,

内森。

于 2016-09-13T13:23:18.830 回答
-1

有点晚了,但是您需要有意识地这样做,来自 Android 蓝牙的文档:

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

http://developer.android.com/guide/topics/connectivity/bluetooth.html#EnablingDiscoverability

于 2014-09-04T03:51:30.747 回答