簡體   English   中英

禁用位置服務的Android融合位置提供程序

[英]Android Fused Location Provider with disabled location services

我在應用程序中實現了融合的位置提供程序。 當我使用禁用的位置服務啟動該應用程序時,根據Google的代碼示例,連接會正確失敗並顯示相應的錯誤對話框。 當我現在離開應用程序並重新輸入時,再次調用connect()。 即使仍禁用位置服務,也會調用onConnected()回調方法,而不是onConnectionFailed()回調。 有人也看到過這個,找到了解決方案嗎? 即使重新啟動時創建新的LocationClient也無濟於事。 只要該應用程序剛剛發送到后台並且沒有真正關閉(使用正在運行的活動的finish()),我就不會再收到該消息。

這確實是一種奇怪的行為,我可以建議一種其他方法來檢查粗略的位置可用性,請嘗試以下操作:

public boolean isCoarseLocationEnabled(Context context){
if (context() != null) 
{
    LocationManager manager = (LocationManager) context.getSystemService(android.content.Context.LOCATION_SERVICE);
    if ( !manager.isProviderEnabled( LocationManager.NETWORK_PROVIDER ) ) {
        return false;
    }
    return true;
}

}

如果可以使用粗略位置,則返回true,否則返回false。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM