我有一个服务,理论上可以在没有与之关联的Activity的情况下工作(就像“服务”在Android平台上的意图一样)。
该服务使用蓝牙,特别是注册了一个具有给定名称的蓝牙服务来侦听通信。当然,为了使其工作,必须启用蓝牙。
正如蓝牙api文档所示,我正在使用BluetoothAdapter.ACTION_REQUEST_ENABLE
来提示用户在情况下启用蓝牙,如果它尚未打开。然而,这是一个活动,因此需要从另一个活动中调用,即:
Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
InstanceOfAnActivity.startActivity(enableIntent);
我希望实现的是服务(例如在启动时启动)与任何活动完全解耦,因此不需要
InstanceOfAnActivity
来启动弹出窗口指示用户打开蓝牙。我知道有(臭名昭着的)调用
BluetoothAdapter.enable()
,但文档说不应直接调用。那么,有什么提示/解决方案可以解决这个问题吗?(也许很容易,只是我漏掉了什么…)