2015-01-24 2 views
1

Я новичок в разработке Android и пытаюсь использовать zxing для своего приложения Google Glass, и он успешно сканирует. Однако, когда я нажимаю на стекло для результата, ничего не происходит. Но, когда я прокручиваю его, активность закрывается и выполняет код в параметре RESULT_CANCEL в onActivityResult. Вот почему я в замешательстве.ZXING result google glass

Я возвращаю результат своей деятельности или нет? Я много раз искал, и я пробовал разные решения, но ничего не работает.

Это мой код:

Основная деятельность

@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"); 
     } 
    } 

Manifest:

<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> 

I'am то отсутствует? Любая помощь будет очень проста.

+0

Можете ли вы объяснить, как вы устанавливаете библиотеку zing? – Rohan

ответ

0

Если проверка прошла успешно, вам не нужно прокручивать вниз, чтобы вернуться к вашей деятельности: активность zxing должна завершиться и вернуть результат обратно в ваше приложение. Когда вы переместитесь вниз, zxing вернет RESULT_CANCELED.

Итак, ваша проблема в том, почему zxing не завершает работу и возвращает результат. Пожалуйста, см. this question, ответили один из разработчиков zxing. Он предложил вам использовать IntentIntegrator. Кроме того, this answer показывает, как это сделать.

+0

Я уже пробовал IntentIntegrator, но он попросил загрузить barcodeapp, но так как я использую стекло, там невозможно скачать ap. – rapidoodle