(Android&& Bluetooth)在没有用户交互的情况下,可以从服务中发现设备吗?

时间:2012-12-30 22:40:48

标签: android bluetooth discoverability

我希望能够在Android设备上自动打开可发现性而不会通过安全对话框提示用户。

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

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

谢谢,

森。

2 个答案:

答案 0 :(得分:2)

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

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

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

4年前给自己,

森。

答案 1 :(得分:-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