按代码打开GPS

时间:2015-03-22 17:46:19

标签: android gps

我正试图通过代码打开GPS。以下方法是我使用的代码,但确实不起作用。

是否有任何建议我可以使用

方法一:

private void turnGPSOn(){
    Intent intent=new Intent("android.location.GPS_ENABLED_CHANGE");
    intent.putExtra("enabled", true);
    sendBroadcast(intent);
}

方法2:

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);
    }
}

方法3:

public void turnGPSOn()
{
     Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
     intent.putExtra("enabled", true);
     this.sendBroadcast(intent);

    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")); 
        this.sendBroadcast(poke);
    }
}

1 个答案:

答案 0 :(得分:0)

4.0以上无法直接从应用程序切换gps。正如commonsware指出的那些是开发人员正在开发的错误,现在已经解决了谷歌的问题。

将用户重定向到设置,当用户返回您的应用时,从gps获取必要的数据。如果仍然关闭再次重定向用户。 Tinder也是如此。