我正在尝试在Android应用程序中实现位置。 我首先尝试了从付费课程中学到的方法 - 扩展了LocationListener。我尝试过与最好的提供商合作#34;由locationManager.getBestProvider返回,但我发现它经常是GPS,返回0,0。 所以我改变了一切使用3个提供商:gps,网络和被动。显示所有3的所有latLng和精度。虽然GPS返回30%的时间0,0,但它通常是相同的。
我改变了使用GoogleApiClient的整个方法。实现了GoogleApiClient.ConnectionCallbacks,GoogleApiClient.OnConnectionFailedListener和LocationListener。
这里的值与第一种方法有些相似。
但无论我做什么,我都不会在通知栏中看到位置标记图标。喜欢谷歌地图或任何呼叫出租车应用程序。 为什么是这样?
此外,在这两种情况下,应用都会出现在"最近的位置请求中。在设置中; LocationListener的应用程序名称,以及第二种方法的Google App / Google Location History。
我正在测试Nexus 4(有库存5.1.1)和5(库存6.0.1)设备。权限在清单中,并为API级别23添加了必要的权限检查。
可以在此处找到Mainactivity类: using Google API 和using LocationListener 感谢您的帮助!
答案 0 :(得分:0)
只有在方法
上使用LocationManager.GPS_PROVIDER
时,才会显示位置标记通知图标
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,5000,1,this);
如果您使用LocationManager.NETWORK_PROVIDER
,状态栏中将不会有图标
编辑:
检查Settings->Location->Mode
中的位置模式是否设置为高