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应用程序。 onConnectedonConnectionFailed都不被调用。我也没有找到任何文档。

Android的开发者文档上handling TV hardware状态:

电视都从其他设备具有不同的目的,所以他们没有其他Android设备通常具有硬件功能。出于这个原因,Android系统不支持以下功能的电视设备:

GPS - android.hardware.location.gps

这可能会绊倒你。

的文档提供了解决方案上的一些提示:

电视是固定的,室内设备,不具有内置的全球定位系统(GPS)接收器。如果您的应用使用位置信息,您仍然可以允许用户搜索位置,或者使用静态位置提供商,例如在电视设备设置期间配置的邮政编码。