2013-06-26 4 views
1

Я провел некоторое исследование (Stack Overflow и в Интернете) и вижу, что есть другие вопросы о Google Goggles и возможность использовать его с Android; через намерение. Я понимаю, что он официально не поддерживается и что мы все еще ожидаем, что Google откроет API или предоставит нам возможность легко использовать его в наших приложениях.Google Goggles через IntentIntegrator Works Но No 'Capture' Button

Это сказало - я все равно хотел бы ответить/уточнить следующее: может ли кто-нибудь помочь?

Реферирование этот вопрос: zxing intent "google goggles" doesn't recognize barcodes

Он ответил, что Google Goggles делает декодирует штрих-код, который на самом деле это делает ... так что в моем приложении я вызываю к последней версии приложения Google Goggles через IntentIntegrator:

https://code.google.com/p/zxing/wiki/ScanningViaIntenthttps://code.google.com/p/zxing/source/browse/trunk/android-integration/src/com/google/zxing/integration/android/IntentIntegrator.java

Этот вызов через IntentIntegrator успешно открывает Google Goggles в режиме сканирования (сортов), однако нет кнопки «Захват» отображается на пользовательском интерфейсе, он скрыт/недоступен ... так это невозможно взять снимать/захватывать любое изображение, чтобы увидеть, работает ли обратный вызов с результатом в моем приложении.

Так что мои мысли:

  • Это просто не поддерживается и кнопка отключена из-за того, как я позвонил, чтобы открыть Google Goggles?
  • Я сделал что-то неправильно в том, что я делаю звонок?
  • Последняя версия Google Goggles отключает эту функциональность, которая раньше была доступна в предыдущих версиях?
  • Другое?

Образец кода, как я делаю звонок, чтобы открыть Google Goggles ниже. Также включен другой способ сделать то же самое, но прокомментирован для справки.

// Try and open Google Goggles for scanning 
    try{ 

     IntentIntegrator integrator = new IntentIntegrator(getSupportActivity()); 
     integrator.initiateScan(IntentIntegrator.TARGET_ALL_KNOWN); 

     //Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
     //intent.setPackage("com.google.android.apps.unveil"); 
     //startActivity(intent); 

    }catch(Exception e){ 
     Log.e(ScanFragment.class.getName(), "onViewCreated > Error creating scan Intent to Google Goggles: " + e.getMessage()); 
    } 
    //> 

Любая помощь в получении более подробной информации об этом была бы весьма признательна; Благодарю.

// Wildstyle

ответ

3

Да, я на самом деле не уверен, что очки поддерживает этот Intent больше. Он не входит в список приложений, которые будут нацелены по умолчанию. Поэтому я не думаю, что вы открываете Goggles, если используете IntentIntegrator; вы открываете одно из приложений сканера штрих-кода. У них нет кнопки захвата, вы просто вводите штрих-код.

Если это действительно открытие Goggles, возможно, оно было ранее установлено как значение по умолчанию для этого Intent, и это имеет приоритет. Попробуйте очистить ассоциации обработчиков приложений в настройках.

+0

Привет, Шон, Спасибо вам за ответ, который полезен. Я действительно изменил список TARGET_ALL_KNOWN, чтобы добавить пакет Google Goggles ... вот почему он успешно открывает приложение. Я посмотрю больше на это и приму ваш ответ, как только я точно знаю. – WildStyle

+0

«У них нет кнопки захвата, вы просто вводите штрих-код». Это потрясающе .. ты прав, он работает, как я догадываюсь! Я буду принимать ваш ответ. Большое спасибо. Еще один связанный с этим вопрос: можно ли открывать Google Goggles в любом другом режиме, то есть распознавать объектный режим, в отличие от сканирования? – WildStyle