是否有可能创建一个可以侦听附近设备并将设备信息记录到文件的服务?Android蓝牙 - 用于记录附近蓝牙设备的服务
0
A
回答
0
是的,这是非常可能的
第一步你需要创建一个服务
第二步你需要BluetoothDevice.ACTION_FOUND广播接收机寻找附近的设备。
第3步然后你就可以查询全部由一个找到的设备之一。
第4步正如你将快速枚举发现设备转储文件里面的信息。
下面是广播接收机
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// When discovery finds a device
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
// Get the BluetoothDevice object from the Intent
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
// Add the name and address to an array adapter to show in a ListView
// You will log this information into file.
mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
}
}
};
注册的广播接收器的意图行动如下
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(mReceiver, filter); // Don't forget to unregister during onDestroy
希望这有助于。
1
是的,你的服务可以侦听新的蓝牙设备,如VIPUL沙阿描述,但真正的问题是你如何使你的设备找到摆在首位其它蓝牙设备。当远程设备发现期间找到
ACTION_FOUND被发送。您可以拨打BluetoothAdapter.startDiscovery()来启动发现过程,但问题是通常可发现的设备非常少。几年前,通常设备始终保持可发现状态,但现在,用户需要根据需要暂时发现设备以配对设备。
所以,它没有任何意义有周期性确实发现一个服务(和监听ACTION_FOUND),不仅因为它消耗了大量的电池,并因为你不会找到任何东西。
如果你知道你正在寻找的,那么你可以尝试连接到这些设备的蓝牙地址,但我认为不是这样的。
相关问题
- 1. 扫描附近的蓝牙设备
- 2. iPhone - 检测附近的蓝牙设备
- 3. Android蓝牙服务禁用
- 4. 蓝牙服务
- 5. Android蓝牙设备缓存
- 6. 查询蓝牙设备android
- 7. Android。连接蓝牙设备
- 8. UUID蓝牙和Android设备
- 9. Android蓝牙唤醒设备
- 10. Android蓝牙设备UUID
- 11. Android搜索蓝牙设备
- 12. 蓝牙SPP和其他蓝牙服务
- 13. Android的蓝牙:显示范围内的设备附近
- 14. Android中的蓝牙服务
- 15. 通过蓝牙检测附近的另一个Android设备
- 16. 将设备地址发送到Android中的ConnectThread(蓝牙设备设备) - 蓝牙
- 17. Android蓝牙服务发现
- 18. Android蓝牙连接另一个蓝牙设备
- 19. 如何使用Android蓝牙设备选取器检索蓝牙设备信息?
- 20. 将蓝牙Android客户端连接到蓝牙Java服务器
- 21. 从Android蓝牙设备选取器获取蓝牙设备信息
- 22. Android上的蓝牙发现 - 有没有办法知道附近是否有蓝牙设备?
- 23. 在Android设备上启用蓝牙(LGP500)
- 24. Android蓝牙设备选择器使用
- 25. 使用蓝牙连接Android设备?
- 26. 使用蓝牙4.01连接蓝牙LE设备
- 27. iOS蓝牙通知应用程序蓝牙设备连接时
- 28. 32feet.net如何发现附近的蓝牙设备异步在c#
- 29. 如何通过蓝牙获取ios设备的附近信息
- 30. Android SPP蓝牙到非Android设备
你尝试过什么吗? – Sam