通过蓝牙重启 Android phone?

Reboot Android phone via bluetooth?

我的项目涉及工厂标准(例如,未 root)Android phone 通过蓝牙和 wifi 连接到 PC,但 phone 本身在物理上不可访问(它是在上锁的塑料盒中)并且不适合个人使用。

有什么方法可以通过蓝牙或 wifi 向 android phone 发送某种命令来重新启动它?

是的,但这很棘手。

有多个 case-scenario 但唯一的条件是蓝牙或 Wi-Fi 连接由 third-party 应用程序建立和维护,并且您可以访问以下代码这个特定的应用程序(或者更好的是,你是这个应用程序的开发者)。

首先:有问题的应用程序必须能够通过蓝牙或 Wi-Fi 接收要求重新启动的命令。

如果您无权访问应用程序代码或没有涉及 third-party 应用程序(这意味着它是 OS (Android) 本身管理连接)根本行不通。

现在,进入棘手的部分。 最简单的方法是,相关设备已获得 root 权限,并且您的应用程序可以被授予 super-user(root)权限。 在这种情况下,一旦它收到重启命令,它就可以执行重启过程如下:

Runtime.getRuntime().exec(new String[]{"/system/bin/su","-c","reboot now"});

Runtime.getRuntime().exec(new String[]{"/system/xbin/su","-c","reboot now"});

因为它可能取决于 su 二进制文件所在的位置。 在任何情况下,它都可能不适用于所有设备,因此您应该尝试哪种方法适用于您将要使用的设备。

现在,如果您没有获得 root 权限的设备 and/or,您将无法对有问题的设备进行 root 权限,当且仅当您将应用程序签名为系统应用程序时,您才可以这样做。

此处有更多详细信息:

希望对您有所帮助!