2015-11-05 44 views
2

我能夠以這種方式來獲得位置: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都不被調用。我也沒有找到任何文檔。

回答

0

Android的開發者文檔上handling TV hardware狀態:

電視都從其他設備具有不同的目的,所以他們沒有其他Android設備通常具有硬件功能。出於這個原因,Android系統不支持以下功能的電視設備:

GPS - android.hardware.location.gps

這可能會絆倒你。

的文檔提供瞭解決方案上的一些提示:

電視是固定的,室內設備,不具有內置的全球定位系統(GPS)接收器。如果您的應用使用位置信息,您仍然可以允許用戶搜索位置,或者使用靜態位置提供商,例如在電視設備設置期間配置的郵政編碼。