我正在从事个人电子项目,我想创建一个应用程序来记录GPS数据以及其他一些东西。
该项目是一个自动变速器(它将根据速度,踏板节奏,陀螺仪角度等多种因素自动换档)。此外,我想创建一个应用程序,它将记录速度,路线,骑行的小时数等等。为了省钱,我想用我的Android手机作为显示一些这些生命体征的屏幕用GPS记录数据。
我对Android开发很新,但我的问题是:一旦连接到手机,是否可以告诉手机自动开始记录数据(并可能根据我的决定打开应用程序)通过蓝牙自行车?同时,我希望它一旦断开连接就停止并关闭它。
由于
答案 0 :(得分:2)
我看到的问题是你打算如何连接自行车的蓝牙收音机。通常,应用程序将启动蓝牙连接(这与配对不同。)在后台运行服务寻找您的蓝牙设备并通常连接不是一个好的解决方案,因为搜索蓝牙设备是非常耗费资源的。
当用户启动应用程序时,启动连接可能会更好。
第二部分,一旦连接断开(超出范围,或者自行车上的设备断开连接),停止应用程序非常简单。制作广播接收器:
public class DisconnectBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(BasicDMMView.this, "Device disconnected!", Toast.LENGTH_SHORT).show();
// Close anything you need to (log files etc.)
finish();
}
}
然后在打开bt连接后注册接收器:
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_ACL_DISCONNECTED);
mReceiver = new DisconnectBroadcastReceiver();
registerReceiver(mReceiver, filter);
当您离开活动时,不要忘记取消注册接收器:
unregisterReceiver(mReceiver);