我有一個活動,其行爲如下: 條形碼掃描器通過IntentIntegrator對象調用,它讀取一個URI。 然後我想通過它的方法connect()將成功的URI傳遞給一個名爲JunctionInterface的對象。在Android上使用意圖問題
private URI uri=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
IntentIntegrator integrator = new IntentIntegrator(this);
integrator.initiateScan();
if(uri!=null) {
JunctionInterface.connect(JunctionInterface.JX,this, uri);
}
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanResult != null) {
try {
uri=new URI(scanResult.getContents());
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
當調試我可以看到主叫URI =新的URI時,所述URI是清楚地檢索(scanResult.getContents())。不幸的是,JunctionInterface.connect()沒有被觸發。 更糟糕的是,當我嘗試在integrator.initiateScan()(主要使用activity.startActivityForResult(intentScan,REQUEST_CODE))之後將int i = 0這樣簡單的東西放入應用程序時,應用程序強制關閉。
這段代碼是怎麼回事?有沒有辦法解決它,並使其表現得像我想要的? 謝謝。
請發佈logcat錯誤 – Newts 2011-12-23 12:50:52