2013-05-13 81 views
1

似乎從Android OS 4.1版有一個新設置,它允許谷歌應用程序使用用戶位置。檢查Google位置和搜索是否已啓用

我深化發展使用谷歌地圖API V2一個應用程序,我用下面的行使其位置感知:

mMap.setMyLocationEnabled(true);  

現在我要檢查,如果用戶已經檢查了位置&谷歌在設置屏幕上搜索。

是沒有問題的。如果WiFi和GPS啓用讀書,但我找不到要檢查谷歌的位置,直到如今&搜索啓用的辦法,我剛剛找到了下面的一段代碼:

try { 
    int gEnable= settings.System.getInt(getActivity().getContentResolver(),Settings.ACTION_SEARCH_SETTINGS); 
} catch (SettingNotFoundException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

但它總是拋出異常。

非常感謝您閱讀我的文章。

編輯

我會盡量解釋它更清晰.... 在我的應用我只是想檢查programmaticaly如果「位置和谷歌搜索」(正如我在下面的圖片中顯示)被檢查。

enter image description here

感謝ü非常讀我的問題。

+0

它拋出什麼異常?你能告訴我們堆棧跟蹤嗎? – 2013-05-13 19:07:18

回答

0

我不完全理解你的問題,儘管考慮做這樣的事情也可能是一種方法。

boolean enabled = locationManager 
      .isProviderEnabled(LocationManager.GPS_PROVIDER); 

    // Check if GPS is enabled, if not send user to GPS settings 
    if (!enabled) { 
     Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); 
     startActivityForResult(intent, 0); 
    } 

除了LocationManager.GPS_PROVIDER你也可以要求

LocationManager.PASSIVE_PROVIDER,這或 LocationManager.NETWORK_PROVIDER,它使用了「接收地點,而無需實際啓動位置鎖定的一個特殊的位置提供」網絡位置。谷歌沒有做任何事情比在我看來使用最後兩個選項... 我希望可以幫助...