2012-02-05 64 views
3


我使用ZXING IntentIntegrator来读取URL。 我设法使用启动条码扫描器:条码扫描器没有结果

IntentIntegrator integrator = new IntentIntegrator(List8.this); 
dialog = integrator.initiateScan(); 

条形码扫描器表明,一个URL已经发现并重定向我回到我的应用程序,我检索使用的信息:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    if (requestCode == 0) { 
      if (resultCode == RESULT_OK) { 
       String contents = intent.getStringExtra("SCAN_RESULT"); 
       String format = intent.getStringExtra("SCAN_RESULT_FORMAT"); 
       Toast.makeText(getApplicationContext(), contents, Toast.LENGTH_LONG).show(); 
       // Handle successful scan 
      } else if (resultCode == RESULT_CANCELED) { 
       // Handle cancel 
      } 
     } 


     } 

问题是甚至认为已经找到一个URL requestCode是-1,意图没有数据。
有没有人有任何想法是什么是我的问题的来源?

P.S.
我试图实现onActivityResultListener但得到了以下错误:

The return type is incompatible with PreferenceManager.OnActivityResultListener.onActivityResult(int, int, 
    Intent) 

回答

1

你为什么想到要resultCode为不-1resultCode用于确定意图,即您为调用结果调用活动的“原因”。没有什么比这更简单了......我只是删除if (requestCode == 0),因为它并不重要。

+0

我确信-1表示失败,我的不好。 – eladrich 2012-02-05 20:11:12

+0

你能解释你的无关答案如何回答这个问题吗?我不知道为什么提问者打勾的答案,但我祈祷,并希望有某种诡计 – Dagon 2014-05-18 06:52:25

+0

@Dagon这个问题是古老的,我不知道OP真正想要什么,但感谢如此粗鲁的标记我的答案为“无关”。出于显而易见的原因,当时OP认为不同。无论如何,如果你有问题,就问问题并告诉我问题是什么,不要判断2岁的问题/答案。 – WarrenFaith 2014-05-19 10:16:56

0

您确定您没有注册resultCodeRESULT_OK的值实际上是-1(http://developer.android.com/reference/android/app/Activity.html#RESULT_OK)。

如果您使用的是集成代码,那么实际上requestCode将是0xC0DE。但是,如果您只是使用该项目中的IntentIntegrator.parseActivityResult(),则无需为这些细节而烦恼,并且无误。查看展示如何充分使用它的javadoc。