android 에서 webview 포 지 셔 닝 문제 예시 상세 설명

머리말
현재 많은 앱 에 웹 페이지(Hyprid App)가 내장 되 어 있다.예 를 들 어 많은 전자상거래 플랫폼,타 오 바 오,경 동,합산 등 이다.

경 동
그렇다면 이런 것 은 어떻게 이 루어 져 야 할 까?사실 이것 은 Android 에서 WebView 라 는 구성 요소 가 실 현 된 것 입 니 다.
요즘 안 드 로 이 드 홈 페이지 개발 을 하고 있 습 니 다.포 지 셔 닝 을 사용 해 야 하 는 페이지 가 있 지만 포 지 셔 닝 을 계속 가 져 오 는 데 실 패 했 습 니 다.슬프다.인터넷 강좌 도 많 지만 예외 없 이 모두 실패했다.결국 노 부 는 3 일 동안 심혈 을 기울 여 해결 방안 을 만 들 었 다.
3 단계 전략:
1.권한 가 져 오기
안 드 로 이 드 6.0 이후 위치 나 저장 권한 을 동적 으로 가 져 와 각자 의 취미 에 따라 위 치 를 배치 해 야 합 니 다.저 는 초기 화 를 시작 할 때 MainActivity 의 OnCreate 방법 에 넣 었 습 니 다.

 if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION)
  != PackageManager.PERMISSION_GRANTED
  || ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
  != PackageManager.PERMISSION_GRANTED
  || ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
  != PackageManager.PERMISSION_GRANTED) {
  Toast.makeText(getApplicationContext(),"    ,         ",Toast.LENGTH_SHORT).show();
  //     (   )  ,             (    )
  ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.WRITE_EXTERNAL_STORAGE}, 100);
  return false;
 }
2.webview setting 설정(다른 사람 코드 복사)

WebView webView = (WebView)findViewById(R.id.webview); 
WebSettings webSettings = webView.getSettings(); 
 
//webview  js   
webSettings.setJavaScriptEnabled(true); 
 
//      
webSettings.setDatabaseEnabled(true); 
 
//           
String dir = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath(); 
webSettings.setGeolocationDatabasePath(dir); 
 
//       
webSettings.setGeolocationEnabled(true); 
 
//  DomStorage   
webSettings.setDomStorageEnabled(true) 
 
//     
webView.setWebChromeClient(new WebChromeClient() { 
 @Override 
 public void onReceivedIcon(WebView view, Bitmap icon) { 
 super.onReceivedIcon(view, icon); 
 
} 
 
@Override 
public void onGeolocationPermissionsShowPrompt(String origin,Callback callback) { 
 callback.invoke(origin, true, false); 
 super.onGeolocationPermissionsShowPrompt(origin, callback); 
 
} 
}); 
3 네트워크 권한

 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
 <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
인터넷 강 좌 는 여기까지 입 니 다.일반적으로 너 에 게 친구 의 포 지 셔 닝 을 사용 할 수 있다 고 알려 줄 것 이다.하지만 난 못 써!!
검사 하 러 왔 다 검사 하 러 가다.괜 찮 은 데.똑 같 아!
4 build gradle 수정
자신의 app build.gradle 에 targetSdkVersion 23 이 있 습 니 다.
그리고 당신 의 공사 지 도 를 사용 할 수 있 습 니 다.
참고 사이트:http://blog.csdn.net/cheunjq/article/details/54729875
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기