所以順勢把之前的掌上商城andriod版一點一點地改成mobile web來包看看
不過光是在定位時發生問題.
WebView要如何使用Goelocation的權限呢?
步驟1,在 AndroidManifest.xml 指定以下權限:
======================================
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
<uses-permission android:name="android.permission.ACCESS_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
=============================================
步驟二,在WebView的setting中設定以下權限:
(假設Activity中有個「mWebView.」WebView型態的變數)
=============================================
mWebView.getSettings().setGeolocationEnabled(true);
mWebView.getSettings().setAppCacheEnabled(true);
mWebView.getSettings().setDatabaseEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
=============================================
步驟三,在遇到請求權限時,包裝的app如何應對?
===========================================
mWebView.setWebChromeClient(new WebChromeClient() {
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
callback.invoke(origin, true, false);
}
});
=====================================
以上,其他的就照大家最常看到的webview應用來做了
沒有留言:
張貼留言