2015-04-08 52 views
0

我有一臺沒有gps的平板電腦只能使用wi-fi,我想通過wi-fi獲取設備位置,但網絡提供商始終爲空。 我在做什麼錯?我還有什麼其他選擇?沒有GPS的位置

  LocationManager locationManager = (LocationManager) ResourceManager.getActivity().getSystemService(MainActivity.LOCATION_SERVICE); 


      LocationListener locationListener = new LocationListener() { 
       public void onLocationChanged(Location location) { 
        // Called when a new location is found by the network location provider. 

       } 

       public void onProviderEnabled(String provider) {} 

       public void onProviderDisabled(String provider) {} 

       @Override 
       public void onStatusChanged(String provider, int status, 
         Bundle extras) { 
        // TODO Auto-generated method stub 
        } 
       }; 
       if (locationManager.getAllProviders().contains(LocationManager.NETWORK_PROVIDER)){ 
        locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener); 
       } 
       //if (locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER)!=null)Log.d("xxxx", "xxxx"); 
       } 
      }); 

回答

0

我可以建議兩種方式。

  1. 使用Google fused location API,我敢肯定它會給你,即使你沒有GPS的位置。
  2. 獲取您看到的WiFi網絡的MAC地址,並使用外部API確定MAC地址以外的位置。
+0

今天我正在嘗試與谷歌融合的位置,並不起作用。 – AlphaStack

+0

你問過位置權限嗎?你可以發佈你的logcat嗎? –

+0

<使用權限android:name =「android.permission.ACCESS_FINE_LOCATION」/> <使用權限android:name =「android.permission.ACCESS_COARSE_LOCATION」/> \t <使用權限android:name =「android.permission .ACCESS_NETWORK_STATE「/>連接失敗:ConnectionResult {statusCode = SIGN_IN_REQUIRED,resolution = PendingIntent {2cb75660:[email protected]}} – AlphaStack