GoogleApiClient无法用于电视应用

时间:2015-11-05 07:32:20

标签: android-tv

使用 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应用程序不起作用。调用onConnectedonConnectionFailed都不会。我也没找到任何文件。

1 个答案:

答案 0 :(得分:0)

handling TV hardware上的Android开发者文档声明:

  

电视的目的与其他设备不同,因此它们没有其他Android设备通常具有的硬件功能。因此,Android系统不支持电视设备的以下功能:

     

GPS - android.hardware.location.gps

这可能会使你绊倒。

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

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