相关疑难解决方法(0)

如何在Android上以编程方式启用或禁用GPS?

我知道如何在Android编程开启/关闭GPS的问题已经 讨论了 很多 ,得到的答复始终是相同的:

"出于安全/隐私原因,你不能转发到位置首选项屏幕,让用户启用/禁用它."

我明白,但是我最近买塔斯克从市场和,中,你可以用它来完成许多其他的东西,你可以设定规则,在进入预定的应用程序自动启用GPS和禁用它退出(见这里的如何做的教程,它只是工作!)和这个应用程序无法使用固件签名密钥签名,因为它适用于许多Android版本和不同的设备,你甚至不需要扎根.

我想在我的应用程序中执行此操作.当然,我不想破坏用户隐私,因此我首先会询问用户是否要使用典型的"记住我的决定"复选框自动启用它,如果他回答是,则启用它.

有没有人对Tasker如何实现这一点有任何想法或线索?

gps android

149
推荐指数
9
解决办法
26万
查看次数

打开GPS安卓

可能重复:
如何在Android Cupcake中以编程方式启用GPS

我目前正在Android中编写一个与GPS配合使用的应用程序.目前我能够确定GPS是否已启用.我的问题是,如果禁用,我想在应用启动时启用GPS.我怎么能这样做程序化?此外,我想创建打开和关闭GPS的功能,我读取stackoverflow上关于它的所有线程然而我尝试的所有功能我得到"不幸的是你的应用程序必须停止"(我没有忘记添加权限)

有人可以帮助我使用启用或禁用GPS的工作功能吗?

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
Run Code Online (Sandbox Code Playgroud)

起初,我使用了这些功能:

 private void turnGPSOn(){
        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);
        }
    }

    private void turnGPSOff(){
        String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);

        if(provider.contains("gps")){ //if gps is enabled
            final Intent poke = new Intent();
            poke.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");
            poke.addCategory(Intent.CATEGORY_ALTERNATIVE); …
Run Code Online (Sandbox Code Playgroud)

android

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×2

gps ×1