GoogleApiClient工作不使用GoogleApiClient电视应用
问题描述:
我能够以这种方式来获得位置:GoogleApiClient工作不使用<strong>GoogleApiClient</strong>电视应用
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
@Override
public void onConnected(Bundle connectionHint) {
mLastLocation = LocationServices.FusedLocationApi.getLastLocation(
mGoogleApiClient);
if (mLastLocation != null) {
mLatitudeText = String.valueOf(mLastLocation.getLatitude());
Log.d("the lat is",mLatitudeText);
mLongitudeText = String.valueOf(mLastLocation.getLongitude());
Log.d("the lon is",mLongitudeText);
}
}
但这并不适用于Android TV应用程序。 onConnected
和onConnectionFailed
都不被调用。我也没有找到任何文档。
答
Android的开发者文档上handling TV hardware状态:
电视都从其他设备具有不同的目的,所以他们没有其他Android设备通常具有硬件功能。出于这个原因,Android系统不支持以下功能的电视设备:
GPS - android.hardware.location.gps
这可能会绊倒你。
的文档提供了解决方案上的一些提示:
电视是固定的,室内设备,不具有内置的全球定位系统(GPS)接收器。如果您的应用使用位置信息,您仍然可以允许用户搜索位置,或者使用静态位置提供商,例如在电视设备设置期间配置的邮政编码。