使用 GoogleApiClient 我可以通过这种方式获取位置:
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
都不会。我也没找到任何文件。
答案 0 :(得分:0)
handling TV hardware上的Android开发者文档声明:
电视的目的与其他设备不同,因此它们没有其他Android设备通常具有的硬件功能。因此,Android系统不支持电视设备的以下功能:
GPS - android.hardware.location.gps
这可能会使你绊倒。
该文档提供了一些解决方案的提示:
电视是固定的室内设备,没有内置的全球定位系统(GPS)接收器。如果您的应用使用位置信息,您仍然可以允许用户搜索位置,或使用静态位置提供商,例如在电视设备设置期间配置的邮政编码。