2013-09-29 3 views
2

아래 링크에서 Geolocation 예제를 시도했습니다. Phonegap의 Geolocation 예제가 Android에서 오류가있는 경고를 표시합니다.

http://docs.phonegap.com/en/1.7.0/cordova_geolocation_geolocation.md.html#Geolocation

는 내가 처음 '전체 예'에서 전체 내용을 복사하고 HTML로 해당 파일을 저장. Chrome (데스크톱) 및 Android 휴대 전화 내장 브라우저 (기본값)에서 Chrome을 열었을 때 Chrome 및 Android 휴대 전화에서 다음 세 가지 알림을 받았습니다.

  1. 갭 : "장치", "GetDeviceInfo를", "XXXXXXXXXX"]
  2. 갭 : "NetworkStatus", "getConnectionInfo", "XXXXXXXXXX"]
  3. 갭 : "애플리케이션", " show ","XXXXXXXXXX "]

'취소'를 처음 클릭하고 '확인'을 시도했지만 아무런 변화가 없습니다. Android 휴대 전화의 세 가지 알림 모두에서 '확인'을 클릭하면 페이지가 모두 흰색으로 바뀝니다.

그래서 나는 그것을 봤 및 제안 스택 오버플로 답변을 몇 가지 발견 :

  • 은 코르도바에서 안드로이드 특정 JS 추가 데스크탑 브라우저의 코르도바 JS 파일을 제거하려면.

그래서 둘 다 시도했지만 그 중 아무도 작동하지 않았습니다. 최신, 나는 다음 해결책을 시도했다.

Cordova package (3.0.0),을 다운로드했습니다. 다음 경로에 cordova.js 파일이있는 cordova-android.zip이 있습니다.

/cordova-android/framework/assets/www/cordova.js 

그래서, 지금 내 스크립트 요소는 다음과 같습니다

<script type="text/javascript" charset="utf-8" src="/cordova-android/framework/assets/www/cordova.js"> 

내가 크롬에서 경고를 얻을하지 않습니다 위와 <script> 요소를 수정,하지만 난 여전히 NEW 경고를 다음 얻을 후 내 안드로이드 폰.

  1. 격차 : [ "PluginManager를", "시작", "플러그인 ManagerXXXXXXXXXX"]
  2. 간격 : "응용 프로그램", "쇼", "XXXXXXXXXX"]
  3. 코드 : 1, 메시지 : 사용자 Geolocation을 거부했습니다.

그래서, 지금은 다음과 같은 질문이 :

  1. 어떻게이 문제를 해결 할 (모든 장치/브라우저에서 경고없이 HTML 페이지를 실행하는)?
  2. cordova.js 파일을 변경 한 후 내 알림이 변경된 이유는 무엇입니까?

감사합니다, Rumit

+0

HTML 파일과 cordova.js 파일 만 가지고 있으며 PC와 Android 브라우저의 브라우저에서 Chrome을 실행하려고한다고 했습니까? – DaveAlden

+0

예, HTML 및 cordova.js입니다. Chrome 브라우저 및 Android 휴대 전화에서 실행됩니다. –

답변

3

귀하의 문제는 jQuery를 같은 JS 라이브러리 인 것처럼 당신이 cordova.js를 사용하고 있지만, 폰갭은 (코르도바)는 하이브리드 프레임 워크가 아닌 모바일 브라우저 프레임 워크이다 (see here for clarification).웹 페이지의 독립형 JS 라이브러리로 사용하기위한 것이 아니라 네이티브 응용 프로그램을 빌드하기 위해 기본 Phonegap 라이브러리와 함께 사용하기위한 것입니다. 페이지를 Phonegap 앱으로 작성하고 Android 용으로 제작 한 경우 앱에 위치 정보 사용 권한을 허용 할 수 있습니다 (또한 필요가 있음).

Phonegap 앱은 네이티브 WebView를 통해 구현되며 Geolocation API의 경우 Phonegap은 기기에 아직 기본 W3C 구현 (Android에서 제공)이없는 경우에만 자체 구현을 사용합니다.

platform guide에 따라 Android 용 Phonegap 앱을 만들거나 AndroidGold API (navigator.geolocation)를 Javascript에서 직접 호출 할 수 있으므로 Phonegap JS를 전혀 사용하지 마십시오. 귀하의 웹 페이지 - Phonegap의 JS 파일이 필요 없으므로 (this question에 대한 답을보십시오).

관련 문제