Android Wearのウォッチフェイスを作成しています。ユーザーの現在地を表示する必要があります。Android Wearの場所
私はDev siteのチュートリアルに続きましたが、動作させることができません。コードは"onLocationChanged"リスナーには決して行きません。
デバイスはHuaweiの腕時計で、Wi-Fiと位置情報付きモバイルに接続されています。
権限が有効です(実行時のアクセス許可が必要です)。ここでコードである:
のAndroidManifest.xml
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET"/>
build.gradle(Module.wear)は
compile 'com.google.android.gms:play-services-location:8.4.0'
AnalogFaceService.java
googleApiClient = new GoogleApiClient.Builder(AnalogFaceService.this)
.addApi(LocationServices.API)
.addApi(Wearable.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this).build();
@Override
public void onConnected(@Nullable Bundle bundle)
{
LocationRequest locationRequest = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY)
.setInterval(TimeUnit.SECONDS.toMillis(2))
.setFastestInterval(TimeUnit.SECONDS.toMillis(2))
.setSmallestDisplacement(2);
if
(
(
ActivityCompat.checkSelfPermission(AnalogFaceService.this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED
) && (
ActivityCompat.checkSelfPermission(AnalogFaceService.this, Manifest.permission.ACCESS_COARSE_LOCATION)
!= PackageManager.PERMISSION_GRANTED
)
) {
return;
}
LocationServices.FusedLocationApi
.requestLocationUpdates(googleApiClient, locationRequest, onLocationChangedListener)
.setResultCallback(locationCallback);
}
private final LocationListener onLocationChangedListener = new LocationListener()
{
@Override
public void onLocationChanged(Location location)
{
Log.v("LOCATION_TEST", location.getLatitude() + " :::: " + location.getLongitude());
getSunriseAndSunset(location);
addLocationEntry(location.getLatitude(), location.getLongitude());
}
};
あなたの活動からすべてのコードを投稿できますか? – Sid
数時間のチェック、再チェック、ソリューション検索の後、Googleマップを開いて場所がまったく機能しているかどうかを確認しようとしました。 それが始まると、私のアプリも動き始めました。 工場出荷時の設定では、Googleマップをまったく開いていませんでした。それは少し厄介ですが、私はそれが動作すると思います。私は工場出荷時の設定に戻し、何が起こるかを見てみよう。 – filipst