1

我正在为我们的工人编写小应用程序,以便在地形中工作,我有一些想法。我们希望跟踪他们的位置,以实现更好的物流和更好的工作控制。

应用程序对我来说不是问题,而是打开/关闭 GPS/位置管理器的按钮。是否有可能将 GPS 设置为始终打开,并且无法关闭,或者可能会检测到关闭,然后每隔几秒将 GPS 重新打开(?bash 脚本?)。

我已经植根了我的设备 (GALAXY GIO),并且我可以完全访问 CLI。我知道如何禁用/启用几乎所有设备,但 GPS 对我来说仍然是个谜……

是否可以在不更改 ROM 的情况下做类似的事情?当前的 ROM 是 2.3.6 Gingerbread。

  • 在此先感谢!,迈克
4

2 回答 2

1

使用services并将此代码放入your services.

String provider = Settings.Secure.getString(getContentResolver(),
        Settings.Secure.LOCATION_PROVIDERS_ALLOWED);

if (!provider.contains("gps")) { 
    // if gps is disabled
    final Intent poke = new Intent();
    poke.setClassName("com.android.settings","com.android.settings.widget.SettingsAppWidgetProvider");
    poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
    poke.setData(Uri.parse("3"));
    sendBroadcast(poke);
    /*
     * Toast.makeText(getApplicationContext(), "GPS On Success",
     * Toast.LENGTH_SHORT).show();
     */
}
于 2012-12-21T09:27:37.047 回答
1

除了漏洞利用(看起来只适用于 2.2 和某些 2.3 版本)和自定义 ROM(如果你能找到这样做的)之外,没有可靠的方法可以满足你的需要。

在 Android 中,用户可以控制大多数功能。Android是针对个人使用的,它不太适合这种东西。您最好切换到另一个允许您执行此操作的平台(例如:黑莓),或者甚至通过蓝牙从始终打开的 GPS 跟踪设备读取数据。他们仍然可以禁用蓝牙,因此您可能需要搜索完全自主的 GPS 跟踪设备(市场上有很多可用的设备,其中一些还有 SIM 卡,因此可以实时发送数据)。

最后一点,我想说,如果需要,大多数工作人员会很乐意启用 GPS,如果他们禁用它,您仍然可以检测到它并向 WS 或日志报告,以便询问他们稍后解释。

于 2012-12-21T10:12:28.523 回答