应用程序打开时如何以编程方式恢复位置访问
Posted
技术标签:
【中文标题】应用程序打开时如何以编程方式恢复位置访问【英文标题】:How to resume Location access programmatically when app open 【发布时间】:2020-01-08 23:20:41 【问题描述】:我开发了一个 GPS 应用程序,但它在位置服务关闭并再次打开时可以正常工作。在没有定位服务的情况下获取 GPS 并再次打开 GPS 时,纬度和经度不正确。我该如何解决?
public void onLocationChanged(Location location)
try
latitute = location.getLatitude();
longitude = location.getLongitude();
accuracy = location.getAccuracy();
Provider = location.getProvider();
Toast.makeText(getContext(), "onLocationChanged: " + "Lat: " + latitute + "Lon: " + longitude, Toast.LENGTH_SHORT).show();
latituteField.setText(String.valueOf((double) latitute));
longitudeField.setText(String.valueOf((double) longitude));
txtaccuracy.setText(String.valueOf((double) accuracy));
txtprovider.setText(String.valueOf(Provider));
catch (Exception e)
【问题讨论】:
您使用哪个提供商?是 FusedLocationProvider 吗? 【参考方案1】:检查您的活动的 onResume() 方法是否启用了 Gps。 如果未启用 Gps,则要求用户在设置中启用 GPS/网络。 启用 GPS 后,启动您的 GPSTracker 服务以获取位置。
@Override
protected void onResume()
super.onResume();
// Check if GPS is not enabled
if (!canGetLocation)
// GPS or network is not enabled.
// Ask user to enable GPS/network in settings.
【讨论】:
以上是关于应用程序打开时如何以编程方式恢复位置访问的主要内容,如果未能解决你的问题,请参考以下文章
iPhone SDK - 如何在应用程序关闭和重新打开时保存和恢复计时器标签
如何以编程方式重新启用 MS Office 禁用文件列表中的文档