Android 如何以编程方式禁用位置服务?

Android 如何以编程方式禁用位置服务?,android,service,location,Android,Service,Location,有没有办法通过编程禁用谷歌定位服务? 我想写一个应用程序来关闭它与一个小部件 谢谢你的帮助 据我所知,LocationManager是一项无法关闭的系统服务。不过,您可以禁用该服务使用的所有位置提供商,如无线位置、GPS等。据我所知,LocationManager是一项无法关闭的系统服务。但是,您可以禁用服务使用的所有位置提供程序,如无线位置、GPS等 有没有办法通过编程禁用谷歌定位服务 不,抱歉,您不能以编程方式禁用GPS等,除非通过安装在系统分区上的应用程序或由固件的签名密钥签名。瞧,你需要

有没有办法通过编程禁用谷歌定位服务? 我想写一个应用程序来关闭它与一个小部件


谢谢你的帮助

据我所知,LocationManager是一项无法关闭的系统服务。不过,您可以禁用该服务使用的所有位置提供商,如无线位置、GPS等。

据我所知,LocationManager是一项无法关闭的系统服务。但是,您可以禁用服务使用的所有位置提供程序,如无线位置、GPS等

有没有办法通过编程禁用谷歌定位服务

不,抱歉,您不能以编程方式禁用GPS等,除非通过安装在系统分区上的应用程序或由固件的签名密钥签名。瞧,你需要一个固定电话

有没有办法通过编程禁用谷歌定位服务


不,抱歉,您不能以编程方式禁用GPS等,除非通过安装在系统分区上的应用程序或由固件的签名密钥签名。注意,你需要一个根手机。

简短的回答是,不需要。但是如果你真的需要关闭它,你可以提示用户这样做:

LocationManager loc = (LocationManager) this.getSystemService( Context.LOCATION_SERVICE );
        if( loc.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER ) )
        {
            Toast.makeText( this, "Please turn off GPS", Toast.LENGTH_LONG).show();
            Intent myIntent = new Intent( Settings.ACTION_LOCATION_SOURCE_SETTINGS );
            startActivity(myIntent);

        }
        else
        {

        // Do nothing   
        }

这可能对您的情况没有帮助,但这是我知道的更改设置的唯一方法。

简短的回答是,没有。但是如果您确实需要关闭它,您可以提示用户执行以下操作:

LocationManager loc = (LocationManager) this.getSystemService( Context.LOCATION_SERVICE );
        if( loc.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER ) )
        {
            Toast.makeText( this, "Please turn off GPS", Toast.LENGTH_LONG).show();
            Intent myIntent = new Intent( Settings.ACTION_LOCATION_SOURCE_SETTINGS );
            startActivity(myIntent);

        }
        else
        {

        // Do nothing   
        }

这可能对您的情况没有帮助,但这是我所知道的更改设置的唯一方法。

如果您使用的是
UiAutomater
,您可以通过模拟单击快速设置中的位置选项来关闭位置服务。过滤器逻辑可能依赖于平台。您可以使用分析视图层次

i、 e

build.gradle

androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'

如果您使用的是
UiAutomater
,则可以通过模拟单击快速设置中的位置选项来关闭位置服务。过滤器逻辑可能依赖于平台。您可以使用分析视图层次

i、 e

build.gradle

androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'

它必须存在,我有一个电源控制小部件可以做到这一点。电源控制小部件是一个系统应用程序,所以它可以修改位置提供者字符串。它必须存在,我有一个电源控制小部件可以做到这一点。电源控制小部件是一个系统应用程序,所以它可以修改位置提供者字符串。谢谢!我考虑的更多的是由网络决定的用户位置,而不是gps。啊,我对这个问题的解释显然是错误的。但还是一段有用的代码谢谢!我考虑的更多的是由网络决定的用户位置,而不是gps。啊,我对这个问题的解释显然是错误的。但仍然是一段有用的代码谢谢,通过修改位置提供程序字符串成功地用root完成。谢谢,通过修改位置提供程序字符串成功地用root完成。谢谢你的回答!谢谢你的回答!完全不正确,此答案用于连接测试。完全不正确,此答案用于连接测试。