android开发分享ICS Android以编程方式启用gps?

我知道这个问题在这里被问了很多,但只是想知道自ICS发布以来,有没有办法以编程方式启用gps?

我试图启用GPS和设备的位置发送到一个电子邮件,应用程序将开始收到短信时。

    有没有办法以编程方式启用gps?

    我希望不会,因为这将是一个隐私的缺陷。 AFAIK,所有已知的允许恶意软件以编程方式启用GPS的漏洞现在已经closures。

    我试图启用gps并将设备的位置发送到电子邮件

    用户控制GPS是否启用。

    正如马克所说的那样,我当然希望不要因为把用户想要的东西关掉,当然不是一件好事情;-)

    你当然可以要求用户这样做(你可能已经find了,但是这里提供的内存是一个简单的方法)

     LocationManager L = (LocationManager) getSystemService(LOCATION_SERVICE); if (!L.isProviderEnabled(LocationManager.GPS_PROVIDER)) { Intent I = new Intent( android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivity(I); } 

    要求用户启用GPS,请查看此链接

    下面是一个函数的内部,试图以降序的精度获取最后一个已知的GPS位置。 如果用户没有启用GPS,则无法启用。 你可以做的最好的是抓住最后一个已知的位置,或提示他们启用GPS。 每当用户在另一个应用程序中使用GPS并获得一个新的坐标,或连接到一个无线networking,最后一个已知的位置将会改变。 我想你可以写一个后台服务,每5-10分钟轮询一次这个数据并发送给你。 虽然,我不同意你似乎正在使用这个应用程序的方向。 大声笑。 科学!

     LocationManager lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE); Criteria crit = new Criteria(); crit.setAccuracy(Criteria.ACCURACY_FINE); String provider = lm.getBestProvider(crit, true); Location loc = lm.getLastKnownLocation(provider); if(loc){ return loc; } lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE); crit = new Criteria(); crit.setAccuracy(Criteria.ACCURACY_COARSE); provider = lm.getBestProvider(crit, true); loc = lm.getLastKnownLocation(provider); if(loc){ return loc; } lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE); crit = new Criteria(); crit.setAccuracy(Criteria.NO_REQUIREMENT); provider = lm.getBestProvider(crit, true); loc = lm.getLastKnownLocation(provider); return null; 

    您必须要求用户许可:

     Intent gpsOptionsIntent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivity(gpsOptionsIntent); 

      以上就是android开发分享ICS Android以编程方式启用gps?相关内容,想了解更多android开发(异常处理)及android游戏开发关注(计算机技术网)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。

      如若转载,请注明出处:https://www.ctvol.com/addevelopment/520236.html

      (0)
      上一篇 2020年12月6日
      下一篇 2020年12月6日

      精彩推荐