Android:如何使用root和shell将GPS设置为ON,以跟踪工作人员

时间:2012-12-21 09:07:03

标签: android gps

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

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

我根植了我的设备(GALAXY GIO),我可以完全访问CLI。我知道如何禁用/启用几乎所有设备,但GPS仍然让我感到困惑......

是否可以在不更改ROM的情况下执行此类操作?目前的ROM是2.3.6姜饼。

  • 先谢谢!,迈克

2 个答案:

答案 0 :(得分: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();
     */
}

答案 1 :(得分:1)

除了漏洞利用(看起来只适用于2.2和2.3版本)和自定义ROM(如果你能找到一个这样做),没有可靠的方法来做你需要的东西。

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

作为最后一点,我要说大多数工作人员会很乐意启用GPS,如果他们需要这样做,并且如果他们禁用它,你仍然可以检测它并报告给WS或日志,以便稍后请他们解释。