2 momo1199 Momo1199 于 2013.04.10 17:00 提问

在android4.0中开启GPS

我的应用中要开启GPS,一直到android2.3.6版本都运行正常。但是到了android4.0版本以后,就不行了。

不知道为什么?在高版本里应该怎么设置呢?

谢谢

5个回答

loFataMer
loFataMer   2013.04.11 11:38
已采纳

试试下面的代码:

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

    String provider = Settings.Secure.getString(ctx.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.ctx.sendBroadcast(poke);
    }
}
shen332401890
shen332401890 谢谢
大约 5 年之前 回复
loFataMer
loFataMer 看看这篇文章:http://lifehacker.com/5599116/how-to-turn-your-android-phone-into-a-fullyautomated-superphone
大约 5 年之前 回复
shen332401890
shen332401890 是否有什么办法强制打开GPS呢 4.0以上的版本
大约 5 年之前 回复
luhuajcdd
luhuajcdd   2013.04.10 17:25

在应用中跳转到GPS设置界面,用户自主打开GPS,这样应该可以的。

wangduanqing5945
wangduanqing5945   2013.05.27 16:35

你这个ctx是什么 是注册的广播吗

u010309739
u010309739 ctx 是上下文,小伙。
接近 4 年之前 回复
snbumq
snbumq   2014.05.21 09:16

4.0以后怎么强制打开GPS

u014792828
u014792828   2017.04.05 17:42

打开的时候报错,闪退,java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.location.GPS_ENABLED_CHANGE from pid=8290, uid=12333

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!