我正在编写一个需要蓝牙的应用程序。我会定期检查是否需要同步一些数据。Wrt电池使用哪个更好?
- 始终打开蓝牙并在需要通信时使用它。
或者 - 在需要时打开它并关闭它。
我相信您不应该将 BT 状态强加给用户,无论出于何种原因,他们可能更愿意将其保持打开或关闭。您的应用程序唯一能做的就是要求用户在需要时打开 BT(使用 Intent BluetoothAdapter.ACTION_REQUEST_ENABLE),如果您每 3000 万次左右询问一次,它很快就会很烦人。
请记住,未经用户同意不得使用 BluetoothAdapter 中的 enable() 方法(来自 sdk 参考):
未经用户直接同意,绝不应启用蓝牙。如果要打开蓝牙以创建无线连接,则应使用 ACTION_REQUEST_ENABLE Intent,这将引发一个对话框,请求用户允许打开蓝牙。enable() 方法仅适用于包含用于更改系统设置的用户界面的应用程序,例如“电源管理器”应用程序。
Add a button to "turn on bluetooth and sync", when it's over give the user feedback and then request to turn it off.
我认为这实际上取决于您检查之间的时间间隔。如果检查间隔很大,最好打开/关闭,否则,如果经常检查,则保持打开可能不会有太大区别。