[解決済み] Android LocationClientクラスは非推奨だが、ドキュメントでは使用されている
2022-05-10 21:16:04
質問
のドキュメントを見ていくと
LocationClient
のように、このクラスは非推奨であることがわかります。
しかし、非推奨のクラスが使われているのは 現在地取得のためのドキュメント .
これは少し誤解を招く表現だと思うのですが、それとも私が見ている資料が正しくないのでしょうか?
解決するには?
Googleはまた新しいAPIをリリースしましたが、ドキュメントを更新していません :$ どのように動作するかを理解するのに時間を費やした後、私はそれを得た、ここに新しい/最新のLocation Service APIを使用した完全な例を持っています...。開発を楽しんでください :)
import android.location.Location;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.location.LocationListener;
import com.google.android.gms.location.LocationRequest;
import com.google.android.gms.location.LocationServices;
public class MainActivity extends Activity implements
GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener,
LocationListener {
private final String TAG = "MyAwesomeApp";
private TextView mLocationView;
private GoogleApiClient mGoogleApiClient;
private LocationRequest mLocationRequest;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mLocationView = new TextView(this);
setContentView(mLocationView);
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(LocationServices.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
}
@Override
protected void onStart() {
super.onStart();
// Connect the client.
mGoogleApiClient.connect();
}
@Override
protected void onStop() {
// Disconnecting the client invalidates it.
mGoogleApiClient.disconnect();
super.onStop();
}
@Override
public void onConnected(Bundle bundle) {
mLocationRequest = LocationRequest.create();
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setInterval(1000); // Update location every second
LocationServices.FusedLocationApi.requestLocationUpdates(
mGoogleApiClient, mLocationRequest, this);
}
@Override
public void onConnectionSuspended(int i) {
Log.i(TAG, "GoogleApiClient connection has been suspend");
}
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
Log.i(TAG, "GoogleApiClient connection has failed");
}
@Override
public void onLocationChanged(Location location) {
mLocationView.setText("Location received: " + location.toString());
}
}
を作成し、AndroidManifest.xml ファイルにこのアクセス許可を追加することを忘れないでください。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
注意:もし、最後の位置(更新なし)を取得するだけなら
LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient)
OnConnectedより
関連
-
[解決済み] Android Fragment onAttach() 非推奨
-
[解決済み] Android getResources().getDrawable() 非推奨 API 22
-
AndroidエミュレーターのADBサーバーがACKしない問題
-
Android studio 制約レイアウト ConstraintLayout
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] Bitmapオブジェクトに画像を読み込む際にOutOfMemoryが発生する問題
-
[解決済み] アプリケーションを終了することは嫌われますか?
-
[解決済み] Androidでファイルをダウンロードし、ProgressDialogで進捗を表示する。
-
[解決済み] Eclipseが起動できない - Javaは起動したが終了コード=13を返した
-
[解決済み】Android Lでアクションバーのナビゲーションモードが非推奨になりました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
NetworkOnMainThreadException
-
AndroidがMainActivityが包含クラスでないというエラーを報告する
-
Androidで発生した問題、解決策とヒント
-
Error:A problem occurred configuring project ':app'. > ビルドを見つけられませんでした。
-
android exception - aapt.exe has stopped working.
-
WeChatとQQは、他のアプリのオープンリストに自分のアプリを追加し、ファイルパスを取得することができます
-
Android ProgressBarの色を変更する
-
アンドロイドスタジオ学習入門
-
アプリの実行エラー。ターゲットデバイスが見つからない問題
-
android studioが新しいプロジェクトを作成しますが、プロジェクトの同期に成功するまでデザインエディタが使用できません。