Android метод или класс для сканирования QR-кода?

Я работаю с шаблоном junaio (дополненная реальность) для Android, и я добавил кнопку с именем "Сканировать", которая будет сканировать код QR. Мне нужно знать, какой метод / функцию / класс или API я должен реализовать на Android, чтобы заставить это действие работать. Есть ли что-нибудь для андроида?

Заранее спасибо!.

PS: я слышал о Zxing, но если я не ошибаюсь, приложение должно быть установлено на телефоне, и я не хочу этого, так как я разрабатываю свое собственное приложение, которое я намерен сделать всю работу.

3 ответа

Решение

Чтобы реализовать функцию сканирования в junaio, вам необходимо установить конфигурацию отслеживания arel.Tracking.BARCODE_QR ( http://dev.junaio.com/arel/documentationArelJS/symbols/arel.Tracking.html).

Каждый раз, когда QR-код сканируется, вы получите обратный вызов через обратный вызов onTrackingEvent. В этом обратном вызове вы можете решить, какое действие вы хотите выполнить.

Я не знаю, но вы можете изучить исходный код ZXing, как они это делают http://code.google.com/p/zxing/source/checkout

Хорошо, вот ситуация, я внес несколько предложенных изменений в код, чтобы он мог сканировать QR-коды. Изменения, которые я сделал, были сделаны в файле index.php, который находится внутри папки arel.

<script type="text/javascript">


        arel.sceneReady(function()
        {
            //start with arel here  
            arel.Scene.setTrackingConfiguration(arel.Tracking.BARCODE_QR);          
            //set a listener to tracking to get information about when the image is tracked
            arel.Events.setListener(arel.Scene, function(type, param){trackingHandler(type, param);});          
             //if the user holds the device over the pattern already, when the scene starts
            arel.Scene.getTrackingValues(function(trackingValues){receiveTrackingStatus(trackingValues);});         

        }); 

        function trackingHandler(type, param)
            {
                //check if there us tracking information avaialbe
                if(param[0] !== undefined)
                {
                    //if the pattern is found, hide the information to hold your phone over the pattern
                    if(type && type == arel.Events.Scene.ONTRACKING && para[0].getState() == arel.Tracking.STATE_TRACKING)
                    {
                         $('#info').fadeOut("fast");
                      }                     
                    //if the pattern is lost tracking, show the information to hold your phone over the pattern
                      else if(type && type == arel.Events.Scene.ONTRACKING && param[0].getState() == arel.Tracking.STATE_NOTTRACKING)
                      {
                         $('#info').fadeIn("fast");
                      } 

                }
            };

            function receiveTrackingStatus(trackingValues)
            {
               if(trackingValues[0] === undefined)
                  $('#info').fadeIn("fast");

            };  

        </script>

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

Благодарю.

Игнасио.

Другие вопросы по тегам