gpt4 book ai didi

android - android 中需要 Google api 客户端参数

转载 作者:行者123 更新时间:2023-11-29 15:53:31 24 4
gpt4 key购买 nike

下面的代码用于从另一个 fragment 获取当前位置。但是我在日志中收到错误,因为谷歌“android 中需要谷歌 api 客户端参数”。这使我的应用程序崩溃了,所以有人知道确切的问题是什么以及如何解决它吗...

public class GPSTracker extends Activity implements LocationListener, ConnectionCallbacks, OnConnectionFailedListener
{

private final Context mContext;
protected LocationManager locationManager;
boolean canGetLocation = false;

private final static int PLAY_SERVICES_RESOLUTION_REQUEST = 1000;
// The minimum distance to change Updates in meters
private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 0; // 10 meters

// The minimum time between updates in milliseconds
private static final long MIN_TIME_BW_UPDATES = 1000 * 20; // 1 minute

Location location; // location
double latitude; // latitude
double longitude; // longitude

SharedData gpsSharedData;
public GoogleApiClient mGoogleApiClient;
private Location mLastLocation;

public GPSTracker(Context context) {
this.mContext = context;
getLocation();
}

/**
* Method to verify google play services on the device
* */
public boolean checkPlayServices() {
int resultCode = GooglePlayServicesUtil
.isGooglePlayServicesAvailable(mContext);
if (resultCode != ConnectionResult.SUCCESS) {
if (GooglePlayServicesUtil.isUserRecoverableError(resultCode)) {
GooglePlayServicesUtil.getErrorDialog(resultCode,
GPSTracker.this, PLAY_SERVICES_RESOLUTION_REQUEST)
.show();
} else {
Toast.makeText(getApplicationContext(),
"This device is not supported.", Toast.LENGTH_LONG)
.show();
finish();
}
return false;
}
return true;
}

// Creating google api client object
public synchronized void buildGoogleApiClient() {
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API).build();
}

public void getLocation() {
// TODO Auto-generated method stub
mLastLocation = LocationServices.FusedLocationApi
.getLastLocation(mGoogleApiClient);

if (mLastLocation != null) {
latitude = mLastLocation.getLatitude();
longitude = mLastLocation.getLongitude();

} else {
System.out
.println("(Couldn't get the location. Make sure location is enabled on the device)");
}
}

public void stopUsingGPS() {
if (locationManager != null) {
locationManager.removeUpdates(GPSTracker.this);
}
}

/**
* Function to get latitude
* */
public double getLatitude() {
if (location != null) {
latitude = location.getLatitude();
}

// return latitude
return latitude;
}

public double getLongitude() {
if (location != null) {
longitude = location.getLongitude();
}

// return longitude
return longitude;
}

public boolean canGetLocation() {
return this.canGetLocation;
}

@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub


}

@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub

}

@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub

}

@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub

}

@Override
public void onConnected(Bundle arg0) {
// TODO Auto-generated method stub
// Once connected with google api, get the location
getLocation();
}



@Override
public void onConnectionSuspended(int arg0) {
// TODO Auto-generated method stub
mGoogleApiClient.connect();
}

@Override
public void onConnectionFailed(ConnectionResult arg0) {

System.out
.println("Connection failed: ConnectionResult.getErrorCode() = "
+ arg0.getErrorCode());
}

最佳答案

请在 getLocation() 的第一行调用 buildGoogleApiClient();,您还没有初始化 mGoogleApiClient 变量。

关于android - android 中需要 Google api 客户端参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29205459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com