2014-05-23 2 views
0

Phonegap 및 jQuery mobile을 사용하여 하이브리드 모바일 응용 프로그램을 개발 중입니다. 내 응용 프로그램은 cordova.js를 추가하지 않아도 제대로 작동하지만 cordova.js를 추가하면 응용 프로그램에서 오류 및 충돌이 발생합니다.cordova.js를 추가하는 동안 하이브리드 모바일 응용 프로그램이 다운 됨

내 코드에서 Phonegap 뒤로 버튼 이벤트를 추가하고 싶지만 코드가 작동하지 않는 경우에도 cordova.js 문제가 문제가되기를 바랍니다. 나는 Cordova 2.4.0을 사용하고있다.

HTML

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 
<link rel="stylesheet" href="css/jquery.mobile-1.4.2.min.css"> 

     <script src="js/jquery-1.10.2.min.js"></script> 
     <script src="js/jquery.mobile-1.4.2.min.js"></script> 
     <script type="text/javascript" src="js/cordova.js"></script> 

<script type="text/javascript"> 

function onLoad() { 
    document.addEventListener("deviceready", onDeviceReady, false); 
} 

    function onDeviceReady() { 

     document.addEventListener("backbutton", backKeyDown, true); 
     alert("Phonegap ready!"); 

     console.log("PhoneGap is ready"); 
    } 

    function backKeyDown() { 
     alert("bak event here ready!"); 
     navigator.app.exitApp(); // To exit the app! 
    } 

    </script> 


</head> 
<body onload="onLoad()"> 
<div data-role="page"> 

<!-- header --> 

<div data-role="header" style="background-color: #3399FF"class="ui-header-fixed" data-theme="b"><h1><font color="#ffffff">Mobile Bank</font></h1></div> 

<div data-role="main" style="background-color: #DCDCDC"> 

<div align="center"> 
<img src="img/display_image2.jpg" style="width:330px;height:350px"> 
</div> 

<ul data-role="listview" data-divider-theme="b" data-inset="true" > 
<li> 
<fieldset class="ui-field-contain" data-inline="true" data-inset="true"> 
<input type="password" data-inline="true" data-mini="true" placeholder="Mpin here" data-theme="b" id="mpin" > 
<a href="" data-role="button" data-mini="false" rel="external" data-theme="a" id="log_btn" onclick="return Validate()">Login</a> 

</fieldset> 
<div align="right"> 
<a href="forget_pin_page.html" data-role="button" data-mini="true" data-inline="true" rel="external" data-theme="b" >Forgot Mpin?</a> 
</div> 
</li> 
</ul> 

<div data-role="ui-field-contain" align="center"> 
<table><tr><td width="50%" align="center"> 



     <div data-role="popup" id="logout"> 
          <div data-role="main"> 
            <h2 align="center">Exit Application</h2> 
            <p>&nbsp;Are you sure want to Exit?&nbsp;</p> 
            <div align="center"> 
             <a href="#" data-role="button" data-theme="b" rel="external" 
               data-inline="true">Yes</a> <a href="#" data-role="button" 
               data-theme="b" data-rel="back" data-inline="true">No</a> 
            </div> 
          </div> 
        </div> 
</div> 

</div> 
</body> 
</html> 

로그 캣

05-23 01:16:30.510: E/AndroidRuntime(1272): FATAL EXCEPTION: main 
05-23 01:16:30.510: E/AndroidRuntime(1272): Process: com.nest.mobilebanking, PID: 1272 
05-23 01:16:30.510: E/AndroidRuntime(1272): java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4000010 (has extras) } in [email protected] 
05-23 01:16:30.510: E/AndroidRuntime(1272):  at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:778) 
05-23 01:16:30.510: E/AndroidRuntime(1272):  at android.os.Handler.handleCallback(Handler.java:733) 
05-23 01:16:30.510: E/AndroidRuntime(1272):  at android.os.Handler.dispatchMessage(Handler.java:95) 
05-23 01:16:30.510: E/AndroidRuntime(1272):  at android.os.Looper.loop(Looper.java:136) 
05-23 01:16:30.510: E/AndroidRuntime(1272):  at android.app.ActivityThread.main(ActivityThread.java:5017) 
05-23 01:16:30.510: E/AndroidRuntime(1272):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-23 01:16:30.510: E/AndroidRuntime(1272):  at java.lang.reflect.Method.invoke(Method.java:515) 
05-23 01:16:30.510: E/AndroidRuntime(1272):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
05-23 01:16:30.510: E/AndroidRuntime(1272):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
05-23 01:16:30.510: E/AndroidRuntime(1272):  at dalvik.system.NativeStart.main(Native Method) 
05-23 01:16:30.510: E/AndroidRuntime(1272): Caused by: java.lang.SecurityException: ConnectivityService: Neither user 10052 nor current process has android.permission.ACCESS_NETWORK_STATE. 
05-23 01:16:30.510: E/AndroidRuntime(1272):  at android.os.Parcel.readException(Parcel.java:1465) 
05-23 01:16:30.510: E/AndroidRuntime(1272):  at android.os.Parcel.readException(Parcel.java:1419) 

답변

2

당신이 당신의 AndroidManifest를 파일에 'android.permission.ACCESS_NETWORK_STATE'을해야합니까 : 여기

내 로그 캣 내 코드? Logcat은 당신이 그것을 가지고 있지 않다고 말합니다. 그래서 그것을 추가하십시오.

+0

감사합니다. 이제는 괜찮습니다. 권한을 추가했는데 나중에 프록시 오류가 발생하여 댓글을 달았습니다. 이제 한 가지 더 많은 정보를 얻을 수 있습니다. android.permission.ACCESS_NETWORK_STATE ' 좋은 하루 되세요 :) – Wolverine

+0

작은, 좋은 주말을 도와 드리겠습니다! – Xcihnegn

관련 문제