簡體   English   中英

使用Android上的意圖問題

[英]Issue using intents on Android

我的活動表現如下:條形碼掃描程序通過IntentIntegrator對象調用,它讀取一個URI。 然后我想通過它的方法connect()將生成的URI傳遞給一個名為JunctionInterface的對象。

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 = new URI(scanResult.getContents())時可以清楚地檢索到uri。 不幸的是,JunctionInterface.connect()沒有被觸發。 更糟糕的是,當我嘗試在integrator.initiateScan()(主要使用activity.startActivityForResult(intentScan,REQUEST_CODE))之后放入像int i = 0這樣簡單的東西時,應用程序強制關閉。

這段代碼有什么問題? 有沒有辦法解決它並使其表現得像我想要的? 謝謝。

試試這個吧。 我只是將代碼的一部分移到了其他地方。

private URI uri=null;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    IntentIntegrator integrator = new IntentIntegrator(this);
    integrator.initiateScan();
}
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());
        if(uri!=null) {
            JunctionInterface.connect(JunctionInterface.JX,this, uri);
        }
    } catch (URISyntaxException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } 
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM