Android:关闭/失去蓝牙连接或文件接收->做某事

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

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

存储文件的工作原理非常好,我的主要问题是如何在不进行显示活动的情况下运行整个程序.

我了解了很多有关服务的知识,但大多数情况下都说服务取决于活动/应用程序…对吗?

还有其他可能实现这样的事情吗?广播接收器呢?如何编程此功能?

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

解决方法:

如您所料,您可以使用BroadcastReceiver和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));
    }
}

您的服务将处理创建虚拟文件:

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

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

上一篇:如何使用pre 3.0 Android编写程序连接到a2dp蓝牙设备?


下一篇:android – 使用adb查找设备蓝牙MAC地址