无法在奥利奥上获得GPS位置更新

时间:2018-02-15 21:55:32

标签: android background gps widget

我已尝试(但徒劳)强制要求我的Android Widget(Android Oreo)上的GPS位置更新。

小部件设置为每15-20分钟更新一次并获取手机的当前位置并显示。

但是,它只会选择安装手机的位置,即使手机移动,后续运行也不会返回新位置。

我仔细阅读了此处提供的解决方案How does it work - requestLocationUpdates() + LocationRequest/Listener并实施了该解决方案,但它似乎没有帮助。

LocationManager locationManager = (LocationManager) 
context.getSystemService(LOCATION_SERVICE);

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 
300000L, 500.0f, new LocationListener() {

                @Override

                public void onLocationChanged(android.location.Location location) {

                    if(location != null)

                    {

                        LocationPreferences.setLastLocationLatLon(context,location);

                    }

                }



                @Override

                public void onStatusChanged(String provider, int status, Bundle extras) {



                }



                @Override

                public void onProviderEnabled(String provider) {



                }



                @Override

                public void onProviderDisabled(String provider) {



                }

            }); 

话虽如此,它在其中一个活动中(而不是在小部件中)更可靠,但鉴于小部件应该执行后台位置更新,它不起作用,onlocationchanged永远不会被调用(我感觉它在后台默默杀死)

是否有人在Oreo上使用GPS创建/使用Android小部件?任何正确方向的帮助将不胜感激。非常感谢你提前。

0 个答案:

没有答案