1
私のプロジェクトではGoogleApiClient
を動作させることができません。私はLocationServices
を使用していますが、onStart
メソッドで呼び出されたclient.connect()
を持っていても、OnConnected
は発砲していません。 私はstackoverflowを検索し、解決策を試しましたが、私はまだそれを動作させることはできません。 私は接続されているかどうかを確認しようとしましたが、client.isConnected()
は常にfalseを出力します。 私の権限は以下のとおりです。GoogleAPIClient LocationServicesに接続できません。
android.permission.INTERNET android.permission.ACCESS_COARSE_LOCATION android.permission.ACCESS_FINE_LOCATION
は、私がここで何かが足りないのですか?
編集:
private GoogleApiClient client;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
ButterKnife.inject(this);
buildGoogleApiClient();
}
protected synchronized void buildGoogleApiClient() {
client = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API).build();
}
@Override
public void onStart() {
// client.connect();
super.onStart();
// ATTENTION: This was auto-generated to implement the App Indexing API.
// See https://g.co/AppIndexing/AndroidStudio for more information.
client.connect();
Log.e("Connected?", String.valueOf(client.isConnected()));
}
public void onConnectionFailed(ConnectionResult connectionResult) {
Log.e("Failed?", connectionResult.getErrorMessage());
}
@Override
public void onConnected(Bundle bundle) {
if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
mLastLocation = LocationServices.FusedLocationApi.getLastLocation(
client);
longt = mLastLocation.getLongitude();
latt = mLastLocation.getLatitude();
if (mLastLocation != null) {
// mLatitudeText.setText(String.valueOf(mLastLocation.getLatitude()));
// mLongitudeText.setText(String.valueOf(mLastLocation.getLongitude()));
}
}
それが働いたが、私は別のエラーを得ました。これがまだ関連しているかどうかはわかりません。 'GoogleApiClientはこの呼び出しに必要なAPIを使用するように設定されていません。 ' – Redan
Googleクライアントのチュートリアルはhttp://www.androidhive.info/2015/02/android-location-api-using-google-playにあります-services / –