我们试图在wifi禁用时测试应用程序的优先级高精度和位置更新。
如果用户在没有wifi网络可用的地方移动,也会出现同样的问题。
我认为正确的行为是使用其他手机传感器(如GPS)更新位置,如果手机不能更新位置与WiFi。
LocationRequest request = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY)
.setInterval(5 * 60 * 1000)
.setFastestInterval(60*1000)
.setSmallestDisplacement(70);
public class TrackerService extends IntentService {
private void startUpdateLocation() {
PendingIntent pendingIntent = PendingIntent.getService(getApplicationContext(),
0, new Intent(ACTION_LOCATION_UPDATED), 0);
LocationRequest request = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY)
.setInterval(5 * 60 * 1000)
.setFastestInterval(60*1000)
.setSmallestDisplacement(70);
getLocationClient().requestLocationUpdates(request, pendingIntent);
Log.d(Utils.getMethodName(), "Location update started");
}
private LocationClient getLocationClient() {
if (mLocationClient != null && mLocationClient.isConnected()) return mLocationClient;
mLocationClient = new LocationClient(this,
new GooglePlayServicesClient.ConnectionCallbacks() {
@Override
public void onConnected(Bundle bundle) {
Log.d(Utils.getMethodName(), "Location client. Connected");
}
@Override
public void onDisconnected() {
Log.d(Utils.getMethodName(), "Location client. Disconnected");
}
},
new GooglePlayServicesClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
throw new IllegalStateException("Failed connection to location manager " + connectionResult.toString());
}
}
);
mLocationClient.connect();
try {
while (mLocationClient.isConnecting()) {
Thread.sleep(200);
}
} catch (InterruptedException e) {
throw new IllegalStateException("Thread interrupted", e);
}
return mLocationClient;
}
}
你能提供什么工作?
我们不想使用优先高精度,因为它会耗尽手机电池。我们的应用程序跟踪手机位置,它不应该取决于wifi设置和wifi网络可用性。
让我试着给你一个答案。直到几分钟前,我也遇到了同样的问题,希望这里会有答案。
我将描述我的问题和解决方案:
问题:我在使用Google Play服务LocationClient时,在没有互联网连接的情况下无法获得任何位置更新。启用GPS。
我需要每1分钟和每5米位移更新一次熔合位置(我知道这是一个错误的做法,但为了测试和在日志中显示),并且我在按下按钮后立即启动服务,我在logcat中获得位置,但只有一次。根据服务级别,onLocationChanged应该每1分钟调用一次,但它不会再次调用,即使我的GPS几乎每分钟打开一次,然后在之后关闭,但Logcat中仍然没有位置更新。我需要服务类来保持更新位置,而不影响UI或主线程 这是只显
无法导入com.google.android.gms.location.LocationServices 但我无法解决。 我安装的Google play服务的版本(在我的Android SDK管理器中)是17。我知道最新版本是19,但我不能从SDK管理器更新版本,我找不到任何选项这样做。
我有一个IOS 8-only应用程序,我想在其中使用位置服务获取设备的纬度和经度。我认为我已经正确地实现了所有功能,但应用程序从未询问用户是否可以使用位置服务,CLAuthorizationStatus从未从kCLAuthorizationStatusNotDetermined和CLLocationManager委托方法更改 从未接到过电话。 下面是在视图控制器的接口文件中定义的CLLocatio
问题内容: 我正在创建一个文件编辑系统,并希望创建一个基于行的tell()函数,而不是基于字节的函数。此函数将在open(file)调用的“ with循环”内部使用。该函数是包含以下内容的类的一部分: 以下是原始函数(如果您希望返回行和字节,则还具有char设置): 我遇到的问题是,这将返回OSError,并且与系统如何遍历文件有关,但我不理解该问题。感谢任何能提供帮助的人。 问题答案: 我有一个
我想使用最新的融合位置提供商客户端在“后台服务”上获取位置更新。我不想使用所有人都在使用的位置侦听器和Google API客户端。我还需要使用google play服务提供的位置设置Api来检查该“后台服务”上的位置设置是禁用还是启用。请帮忙。
我的背景粘性服务是杀死奥利奥和更高的设备,任何解决方案,以获得位置的背景服务时,活动是在后台