2012-01-06 69 views
2

我目前在Eclipse中遇到問題,即使我的Phidg​​et RFID連接了設備(模擬器)沒有,我已經在與android無關的普通Java類中運行它,有用。我重新啓動了很多次。Phidg​​et RFID未連接(ANDROID和PHIDGET)

下面是日誌貓報告:

01-06 13:10:18.984: W/System.err(623): PhidgetException 5 (Phidget not physically attached.) 
01-06 13:10:19.004: W/System.err(623): at com.phidgets.RFIDPhidget.setAntennaOn(Native Method) 
01-06 13:10:19.016: W/System.err(623): at myFood.myFood.AddFood.onCreate(AddFood.java:35) 
01-06 13:10:19.034: W/System.err(623): at android.app.Activity.performCreate(Activity.java:4465) 
01-06 13:10:19.034: W/System.err(623): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 
01-06 13:10:19.034: W/System.err(623): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) 
01-06 13:10:19.044: W/System.err(623): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 
01-06 13:10:19.054: W/System.err(623): at android.app.ActivityThread.access$600(ActivityThread.java:123) 
01-06 13:10:19.054: W/System.err(623): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 
01-06 13:10:19.054: W/System.err(623): at android.os.Handler.dispatchMessage(Handler.java:99) 
01-06 13:10:19.074: W/System.err(623): at android.os.Looper.loop(Looper.java:137) 
01-06 13:10:19.074: W/System.err(623): at android.app.ActivityThread.main(ActivityThread.java:4424) 
01-06 13:10:19.085: W/System.err(623): at java.lang.reflect.Method.invokeNative(Native Method) 
01-06 13:10:19.085: W/System.err(623): at java.lang.reflect.Method.invoke(Method.java:511) 
01-06 13:10:19.085: W/System.err(623): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
01-06 13:10:19.094: W/System.err(623): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
01-06 13:10:19.103: W/System.err(623): at dalvik.system.NativeStart.main(Native Method) 

下面是我的代碼:

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 
import com.phidgets.InterfaceKitPhidget; 
import com.phidgets.Phidget; 
import com.phidgets.PhidgetException; 
import com.phidgets.RFIDPhidget; 
import com.phidgets.event.TagGainEvent; 
import com.phidgets.event.TagGainListener; 


public class AddFood extends Activity { 
     /** Called when the activity is first created. */ 
    RFIDPhidget rfid; 

    static String x ="NULL"; 
    int i = 0; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.addfood); 
     final TextView mytext=(TextView)findViewById(R.id.widget96); 


try 
{ 

     com.phidgets.usb.Manager.Initialize(this); 
     rfid = new RFIDPhidget(); 
     rfid.setAntennaOn(true); 
     rfid.setLEDOn(true); 

     //Begin the TagGained event, allowing for users to read the RFID values 



     rfid.addTagGainListener(new TagGainListener() 
     { 

      public void tagGained(TagGainEvent oe) 
      { 


       Object y = (oe.getValue()); 
       x= y.toString(); 
      } 
     }); 
     rfid.open(34235); 


     long StartTime,RunTime; 
     StartTime=System.currentTimeMillis(); 
     do{ 

      RunTime=System.currentTimeMillis(); 
      if (x.equals("NULL")) { 

       //Continue waiting for input 
       } 
      else 

      StartTime = 10000; //Overload the result so the loop ends 
     } 
     while (RunTime-StartTime<5000); 

     rfid.close(); 
     com.phidgets.usb. 
     Manager.Uninitialize(); 

} 
catch(PhidgetException e) 
{ 

    e.printStackTrace(); 
} 

     Button mybutton = (Button) findViewById(R.id.Button1); 
     mybutton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View view) { 






     } 


     }); 

} 

} 

和我的Android清單:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="myFood.myFood" 
     android:versionCode="1" 
     android:versionName="1.0"> 
     <uses-feature android:name="android.hardware.usb.host" /> 
     <uses-sdk android:minSdkVersion="12" /> 
     <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".myFood" 
        android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 
    <activity android:name=".AddFood" android:label="@string/app_name" 
android:theme="@android:style/Theme.NoTitleBar"> 
</activity> 
    </application> 


</manifest> 

如果任何人有Phidg​​ets的或任何經驗任何這樣的所有幫助將不勝感激。

回答

0

使用Phidg​​et WebService我將open()更改爲open(IP,PORT)。完美工作。

0

嘗試使用rfid.openAny(); 並且還將該地址插入該機器所插入的機器上

例如rfid.openAny(「192.168.10.1」,34325); 這樣你的android設備就可以通過網絡讀取和交互它