0
내 응용 프로그램에서 webview를 사용하고 있습니다. 나는 현재 위치를 알 수 없다. kitkat 버전의 Android webview 현재 위치가 작동하지 않습니다.
나는@Override
public void onGeolocationPermissionsShowPrompt(String origin, android.webkit.GeolocationPermissions.Callback callback) {
super.onGeolocationPermissionsShowPrompt(origin, callback);
//TODO: temporary commented
requestPermission();
turnGPSOn();
callback.invoke(origin, true, false);
}
private void requestPermission(){
if (ActivityCompat.shouldShowRequestPermissionRationale(MySocialNetworkActivity.this, Manifest.permission.ACCESS_FINE_LOCATION)){
Toast.makeText(MySocialNetworkActivity.this,"GPS permission allows us to access location data. Please allow in App Settings for additional functionality.",Toast.LENGTH_LONG).show();
} else {
ActivityCompat.requestPermissions(MySocialNetworkActivity.this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION},PERMISSION_REQUEST_CODE);
}
}
private void turnGPSOn(){
String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if(!provider.contains("gps")){
//if gps is disabled
final Intent poke = new Intent();
poke.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");
poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
poke.setData(Uri.parse("3"));
sendBroadcast(poke);
}
}
이 코드가 작동() 메소드 내가
webView = (WebView) findViewById(R.id.webview);
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setGeolocationEnabled(true);
webView.setWebChromeClient(new PQChromeClient());
내 PQChromeClient에서
이 내 활동 클래스의에서 onCreate 방법에 매니페스트<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
에 권한을 준 막대 사탕과 마시맬로는 있지만 kitkat는 아닙니다. 최근 안드로이드 스튜디오를 2.15에서 2.2로 업데이트했습니다. 이 업데이트로 인해 문제가 발생합니까?