ZXING结果谷歌玻璃

时间:2015-01-24 06:32:38

标签: android google-glass zxing google-gdk

我是Android开发的新手,我正在尝试将zxing用于我的谷歌眼镜应用程序,并且它成功扫描。然而,当我点击玻璃结果时,没有任何反应。但是,当我向下滑动时,活动正在关闭并执行onActivityResult中RESULT_CANCEL选项中的代码。这就是为什么我很困惑。

我是否将结果恢复到我的活动中?我经常研究,尝试了不同的解决方案,但没有任何效果。

这是我的代码:

主要活动

@Override
protected void onCreate(Bundle bundle) {
    super.onCreate(bundle);
    scan();
    setContentView(R.layout.activity_main);
}

private void scan(){
    Intent intent = new Intent("com.google.zxing.client.android.SCAN");
    intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
    startActivityForResult(intent, 0);
}

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
       if (resultCode == RESULT_OK) {

          String contents = intent.getStringExtra("SCAN_RESULT");
          String format = intent.getStringExtra("SCAN_RESULT_FORMAT");

          Toast.makeText(getApplicationContext(), contents + format, Toast.LENGTH_LONG).show();

          // Handle successful scan

       } else if (resultCode == RESULT_CANCELED) {
          // Handle cancel
          Log.i("App","Scan unsuccessful");
       }
    }

清单:

<activity
android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<intent-filter>
    <action android:name="com.google.zxing.client.android.SCAN"/>
    <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity> 

我错过了什么?任何帮助都会得到很多帮助。

1 个答案:

答案 0 :(得分:0)

如果扫描成功,您不需要向下滑动以返回到您的活动:zxing活动应该自行完成并将结果返回给您的应用。向下滑动时,zxing将返回RESULT_CANCELED。

所以,你的问题是为什么zxing没有完成它的活动并返回结果。 请参阅this question,由zxing开发人员之一回答。他建议你使用IntentIntegrator。另外,this answer显示了如何执行此操作。