【问题标题】:Reboot Android phone via bluetooth?通过蓝牙重启安卓手机?
【发布时间】:2016-01-14 09:39:36
【问题描述】:

我的项目涉及通过蓝牙和 wifi 将工厂标准(例如未植根)Android 手机连接到 PC,但手机本身不可物理访问(它位于锁定的塑料盒中)并且不适合人。

有没有办法通过蓝牙或 wifi 发送某种命令来让安卓手机自行重启?

【问题讨论】:

    标签: android bluetooth android-wifi


    【解决方案1】:

    是的,但这很棘手。

    有多种情况,但唯一的条件是蓝牙或 Wi-Fi 连接由第三方应用程序建立和维护,并且您可以访问此特定应用程序的代码(甚至更好,您是此应用的开发者)。

    第一件事:相关应用必须能够通过蓝牙或 Wi-Fi 接收要求重启的命令。

    如果您无权访问应用代码或不涉及第三方应用(即管理连接的操作系统 (Android) 本身),则根本无法运行。

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

    Runtime.getRuntime().exec(new String[]{"/system/bin/su","-c","re​​boot 现在"});

    Runtime.getRuntime().exec(new String[]{"/system/xbin/su","-c","re​​boot 现在"});

    因为它可能取决于 su 二进制文件的位置。 无论如何,它可能不适用于所有设备,因此您应该尝试哪种方法适用于您将使用的设备。

    现在,如果您没有 root 设备和/或您无法对相关设备进行 root,则当且仅当您将应用程序作为系统应用程序签名时,您可能能够做到这一点。

    更多细节在这里:https://stackoverflow.com/a/4966542/3535408

    希望对你有帮助!

    【讨论】:

    • 这就是我所担心的。我实际上正在为手机以及它正在与之交谈的 PC 开发一个应用程序,尽管我怀疑我是否能够使用任何系统签名。感谢您提供信息。
    • 我从未尝试过系统签名,在我为您的问题寻找它之前,我什至从未听说过它。但是为什么你不能做到呢?你有一些限制,一些约束吗?我希望你能成功;-)
    • 是的,我们有一些奇怪的限制(这是一个工作项目,所以我无法真正详细说明)。但基本上我们希望尽可能将手机的行为保持为“出厂默认设置”,并且不会在操作系统中干扰太低的级别。我将不得不在某个时候详细研究签名的事情,如果它的副作用不太严重,也许这是一种可能性。
    猜你喜欢
    • 2015-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 2011-07-20
    • 1970-01-01
    • 2023-03-04
    • 2012-03-06
    相关资源
    最近更新 更多