大家好,我現在在做一個用Phonegap調用nfc刷卡,但是現在調用不成功,不知道哪裡出了問題,引用和配置都已經弄好了,求大俠指點。
bulid.xml和plugin.xml已經加入,phonegap-nfc.js和phonegap-nfc-qnx.js也已經應用
AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.schoolapp"
    android:versionCode="1"
    android:versionName="1.0" >
    
    <supports-screens
  android:largeScreens="true"
  android:normalScreens="true"
  android:smallScreens="true"
  android:resizeable="true"
  android:anyDensity="true"
 />
 <uses-permission android:name="android.permission.CAMERA" />
 <uses-permission android:name="android.permission.VIBRATE" />
 <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.READ_PHONE_STATE" />
 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.RECEIVE_SMS" />
 <uses-permission android:name="android.permission.RECORD_AUDIO" />
 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
 <uses-permission android:name="android.permission.READ_CONTACTS" />
 <uses-permission android:name="android.permission.WRITE_CONTACTS" />
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
 <uses-permission android:name="android.permission.GET_ACCOUNTS" />
 <uses-permission android:name="android.permission.NFC" />      <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="17" />
    <uses-feature android:name="android.hardware.nfc" android:required="true" /> 
    <application
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.schoolapp.MainActivity"
            android:configChanges="orientation|keyboardHidden"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
         
         <activity  
            android:name="org.reno.Beam"  
            android:label="@string/app_name"  
            android:launchMode="singleTop" >  
             <intent-filter>        
                 <action android:name="android.nfc.action.TAG_DISCOVERED"/>        
                 <category android:name="android.intent.category.DEFAULT"/>    
            </intent-filter> 
            <intent-filter>  
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>  
<category android:name="android.intent.category.DEFAULT"/>  
<data android:mimeType="text/plain" /> 
 </intent-filter> 
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />  
                <category android:name="android.intent.category.LAUNCHER" />  
            </intent-filter>  
            
            <intent-filter>  
                <action android:name="android.nfc.action.TECH_DISCOVERED" />  
            </intent-filter>  
            <meta-data  
                android:name="android.nfc.action.TECH_DISCOVERED"  
                android:resource="@xml/nfc_tech_filter" />  
        </activity>  
        
        
    </application></manifest>現在是 一接觸到卡后 程序就會提示:很抱歉,XX程序已停止。怎麼辦啊 急 希望大俠們 指點phonegapnfcandroid

解决方案 »

  1.   

    前臺HTML調用:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>無標題文件</title>    <script type='TEXT/JAVASCRIPT' src='cordova.js' charset='UTF-8'></script>    <link rel="stylesheet" href="css/themes/default/jquery.mobile-1.3.1.min.css">    <script src="js/jquery.js"></script>    <script src="js/jquery.mobile-1.3.1.js"></script>    <script type="text/javascript" src="js/jquery.query.js"></script>
        
        <script type="text/javascript" src="phonegap-nfc.js"></script>
        <script type="text/javascript" src="phonegap-nfc-qnx.js"></script>
        <!--
        <style type="text/css">
    #btnsearch span:first-child{padding: .2em 30px !important;}
    </style>
        -->
    </head>
    <body>
        <!-- Home -->
        <div data-role="page" id="pageHome" data-theme="c" data-title="朝陽" data-fullscreen="true">
    <script type="text/javascript" charset="utf-8">
                try{
                        var shopCar=new Array();
                        // 等待加载PhoneGap 
                        document.addEventListener("deviceready", onDeviceReady, false);
                        // PhoneGap加载完毕
                        function onDeviceReady() {
                             nfc.addNdefListener(onNfc, success, failure);
                                                    
                    }catch (error) {
                        console.error("Your javascript has an error: " + error);
                    }    
    function onNfc(nfcEvent) {
    // display the tag as JSON
    alert(JSON.stringify(nfcEvent.tag));
    }

    function success(result) {
         console.log("Listening for NFC Messages");
    }

    function failure(reason) {
    alert(reason+"adsfadf");
    }
            </script>