2014-01-17 41 views
0

根據我在開發應用程序時的需求,我們需要訪問用戶的地理位置。我們建立一個基於Html 5的網站,並在web視圖中調用該網站的URL來開發我們的移動應用程序。通過HTML5中的最新地理標籤,我們可以訪問網站中用戶的地理位置。從Web視圖調用時,地理位置仍可以訪問嗎?糾正我,如果我錯了。可以在android訪問地理位置的webview?

回答

0

是的,但您需要使用WebChromeClient自己實現位置對話框功能。下面是一個簡單的例子:

webView.setWebChromeClient(new WebChromeClient() { 

    @Override 
    public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { 

     AlertDialog.Builder builder = new AlertDialog.Builder(context); 

     builder.setMessage(origin + " would like to use your current location"); 
     builder.setNegativeButton("Don't Allow", new DialogInterface.OnClickListener() { 

      @Override 
      public void onClick(DialogInterface dialog, int which) { 

       callback.invoke(origin, false, false); 
       dialog.dismiss(); 
      } 
     }); 
     builder.setPositiveButton("Okay", new DialogInterface.OnClickListener() { 

      @Override 
      public void onClick(DialogInterface dialog, int which) { 

       callback.invoke(origin, true, false); 
       dialog.dismiss(); 
      } 
     }); 
    }; 
}); 

您可以直接調用callback.invoke(origin, true, false),如果你不希望顯示權限對話框用戶。但我不會建議(因爲您的網站將在未經他們同意的情況下使用用戶的位置)。