FileDocCategorySizeDatePackage
GeolocationPermissions.javaAPI DocAndroid 5.1 API6020Thu Mar 12 22:22:10 GMT 2015android.webkit

GeolocationPermissions

public class GeolocationPermissions extends Object
This class is used to manage permissions for the WebView's Geolocation JavaScript API. Geolocation permissions are applied to an origin, which consists of the host, scheme and port of a URI. In order for web content to use the Geolocation API, permission must be granted for that content's origin. This class stores Geolocation permissions. An origin's permission state can be either allowed or denied. This class uses Strings to represent an origin. When an origin attempts to use the Geolocation API, but no permission state is currently set for that origin, {@link WebChromeClient#onGeolocationPermissionsShowPrompt(String,GeolocationPermissions.Callback) WebChromeClient.onGeolocationPermissionsShowPrompt()} is called. This allows the permission state to be set for that origin. The methods of this class can be used to modify and interrogate the stored Geolocation permissions at any time.

Fields Summary
Constructors Summary
public GeolocationPermissions()
This class should not be instantiated directly, applications must only use {@link #getInstance()} to obtain the instance. Note this constructor was erroneously public and published in SDK levels prior to 16, but applications using it would receive a non-functional instance of this class (there was no way to call createHandler() and createUIHandler(), so it would not work).

hide
Only for use by WebViewProvider implementations

Methods Summary
public voidallow(java.lang.String origin)
Allows the specified origin to use the Geolocation API.

param
origin the origin for which Geolocation API use is allowed

        // Must be a no-op for backward compatibility: see the hidden constructor for reason.
    
public voidclear(java.lang.String origin)
Clears the Geolocation permission state for the specified origin.

param
origin the origin for which Geolocation permissions are cleared

        // Must be a no-op for backward compatibility: see the hidden constructor for reason.
    
public voidclearAll()
Clears the Geolocation permission state for all origins.

        // Must be a no-op for backward compatibility: see the hidden constructor for reason.
    
public voidgetAllowed(java.lang.String origin, ValueCallback callback)
Gets the Geolocation permission state for the specified origin.

param
origin the origin for which Geolocation permission is requested
param
callback a {@link ValueCallback} to receive the result of this request. This object's {@link ValueCallback#onReceiveValue(T) onReceiveValue()} method will be invoked asynchronously with a boolean indicating whether or not the origin can use the Geolocation API.

        // Must be a no-op for backward compatibility: see the hidden constructor for reason.
    
public static android.webkit.GeolocationPermissionsgetInstance()
Gets the singleton instance of this class. This method cannot be called before the application instantiates a {@link WebView} instance.

return
the singleton {@link GeolocationPermissions} instance

      return WebViewFactory.getProvider().getGeolocationPermissions();
    
public voidgetOrigins(ValueCallback callback)
Gets the set of origins for which Geolocation permissions are stored.

param
callback a {@link ValueCallback} to receive the result of this request. This object's {@link ValueCallback#onReceiveValue(T) onReceiveValue()} method will be invoked asynchronously with a set of Strings containing the origins for which Geolocation permissions are stored.

        // Must be a no-op for backward compatibility: see the hidden constructor for reason.