Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 设置广播接收器以打开蓝牙_Android_Bluetooth_Broadcastreceiver_Powermanager - Fatal编程技术网

Android 设置广播接收器以打开蓝牙

Android 设置广播接收器以打开蓝牙,android,bluetooth,broadcastreceiver,powermanager,Android,Bluetooth,Broadcastreceiver,Powermanager,我对Java和Android都是新手,我正试图弄清楚如何执行以下操作。顺便说一句,我发现谷歌安卓官方文档不适合新手,我希望有更多的参考资料。。。非本地程序员友好 好的,下面是: 我想在插入/拔出手机时自动打开/关闭蓝牙-pc或ac 因此,我发现了以下组件: BatteryManager:似乎使用动作“BATTERY”改变了意图才是正确的做法,并设置一个广播接收器,以便在这种改变发生时使用。对吗 我还发现了BluetoothAdapter,其中有enable方法。上面写着:在没有明确的用户操作的情

我对Java和Android都是新手,我正试图弄清楚如何执行以下操作。顺便说一句,我发现谷歌安卓官方文档不适合新手,我希望有更多的参考资料。。。非本地程序员友好

好的,下面是:

我想在插入/拔出手机时自动打开/关闭蓝牙-pc或ac

因此,我发现了以下组件:

BatteryManager:似乎使用动作“BATTERY”改变了意图才是正确的做法,并设置一个广播接收器,以便在这种改变发生时使用。对吗

我还发现了BluetoothAdapter,其中有enable方法。上面写着:在没有明确的用户操作的情况下,不要使用蓝牙插入手机是一种明确的用户行为吗?这对我来说合适吗?当然,禁用也是如此

此外,我在互联网上看到的广播接收机示例只向我展示了如何启动一个意图——通常是启动一个新的活动。我想我可以让广播接收器启动一种方法,在这种方法中我将打开和关闭蓝牙?意图可以是一种方法,而不仅仅是一种活动吗

任何帮助都将不胜感激

BatteryManager:似乎使用动作“BATTERY”改变了意图才是正确的做法,并设置一个广播接收器,以便在这种改变发生时使用。对吗

是的,这是一种监控充电器连接情况的方法,包括插入具有充电功能的USB端口。您还可以使用连接的操作电源

插入手机是一种明确的用户行为吗

否-除非您创建一个弹出窗口请求用户同意,否则绝不会。要引用启用方法的文档

未经用户直接同意,不得启用蓝牙。如果要打开蓝牙以创建无线连接,则应使用操作请求启用意图,这将引发一个对话框,请求用户允许打开蓝牙。启用方法仅适用于包含用于更改系统设置的用户界面的应用程序,如power manager应用程序

当我插上手机充电时,10次中有9次我只想让它充电。如果我在我的手机上安装了你的应用程序,并且发现它正在悄无声息地启用蓝牙,并且我不知道,那么你的应用程序将立即被取消安装

蓝牙存在已知的安全问题,根据用户设置,如果在用户不知情的情况下启用蓝牙,可能会使其设备处于危险之中

意图可以是一种方法,而不仅仅是一种活动吗


不,意图是消息传递系统的一部分。看见是的,我知道它不太“新手友好”,但Android是一个复杂的野兽,如果你真的想为它成功编程,你必须阅读这类东西。

嗨,先生,谢谢你的回答:我理解你不想默默地做这件事的意思,但这不适用于我的应用程序——它将是一个极其简单的应用程序——它所能做的只是打开和关闭蓝牙。所以,如果你下载并安装它,你就知道你得到了什么。所以,听起来没有办法在没有对话框的情况下在后台打开/关闭,是吗?Juice Defender有此选项,但效果不太好。另外,要明确的是,我并不害怕阅读太多,只是5次中有4次,我不理解他们的解释;我从来没有发现过一个非常有力的词:我们在未经用户直接同意的情况下启用蓝牙,因为我们有一个专业的驱动程序,无论用户做什么,它都需要一直保持打开状态。我很高兴Android设计师允许我们通过编程强制启用蓝牙,否则我们的应用程序将在现实世界中失败: