【发布时间】:2017-04-04 16:11:26
【问题描述】:
关于这个问题的另一个问题。很抱歉是多余的,但我到处都看过,但我仍然无法让它工作。我的网页 navigator.geolocation 函数返回此错误:应用程序没有足够的地理定位权限。它不会询问用户是否允许权限。一切都可以在我桌面上的不同浏览器中运行(chrome、ff、safari,即 10 +)。
我在 android studio 中运行模拟器...手机类型是 nexus 5 api 23 (android 6.0)。
这是我现在拥有的代码大杂烩:
//我的mainActivity.java文件:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.activity_main_webview);
WebSettings mWebSettings = mWebView.getSettings();
mWebSettings.setJavaScriptEnabled(true);
String userAgent = mWebView.getSettings().getUserAgentString() ;
mWebSettings.setUserAgentString(userAgent);
mWebSettings.setBuiltInZoomControls(true);
mWebSettings.setAppCacheEnabled(true);
mWebSettings.setDatabaseEnabled(true);
mWebSettings.setDomStorageEnabled(true);
mWebSettings.setAllowFileAccess(true);
mWebSettings.setAllowContentAccess(true);
mWebSettings.setGeolocationEnabled(true);
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mWebView.clearCache(true);
mWebView.clearHistory();
mWebView.clearView();
mWebView.loadUrl("https://mywebsite.com");
mWebView.setWebChromeClient(new WebChromeClient()
{
@Override
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
callback.invoke(origin, true, false);
}
etc...
//我的android清单文件:
<?xml version="1.0" encoding="utf-8"?>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.CAMERA"></uses-permission>
<uses-permission android:name="android.permission.MANAGE_DOCUMENTS"></uses-permission>
<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_WIFI_STATE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
我被卡住了。开始怀疑这是否可能......人们如何让它工作?!?!?!?
【问题讨论】:
标签: android html webview geolocation