3

我想通过以下方式编写一个监控我配对的蓝牙连接的应用程序:

如果文件来自配对源,则应将其存储。如果没有文件通过并且蓝牙连接中断,我的应用程序将存储一个虚拟文件。

存储文件效果很好,我的主要问题是如何在我的显示器上没有活动的情况下运行整个事情......

我读了很多关于服务的内容,但大多数人说服务取决于活动/应用程序……对吗?

还有其他可能实现类似的事情吗?广播接收器呢?我该如何编程这个功能?

我期待着阅读您的(创造性)答案;-) 问候,poeschlorn

4

1 回答 1

4

如您所料,您可以使用 aBroadcastReceiver和 a来执行此操作Service。您将设置广播接收器来处理“蓝牙断开连接”事件,然后启动服务以对其进行处理。

在清单中,声明您的接收器:

<receiver android:name=".YourReceiver">
    <intent-filter>
        <action android:name="android.bluetooth.device.action.ACL_DISCONNECTED"/>
    </intent-filter>
</receiver>

在你的BroadcastReceiver,你会做这样的事情:

@Override
public void onReceive(Context context, Intent intent) {

    if (intent.getAction().equals(BluetoothDevice.ACTION_ACL_DISCONNECTED)) {
        context.startService(new Intent(context, YourService.class));
    }
}

Service将处理创建虚拟文件:

@Override
public void onCreate() {
    // Create the dummy file, etc...
}

您还需要执行检查断开连接的设备等操作,但这应该可以帮助您入门。此外,我从未使用过蓝牙堆栈,但我认为这是相关的操作名称。

于 2010-05-25T14:06:46.857 回答