0

我正在使用适用于 android 的 junaio 模板(增强现实),我添加了一个名为“扫描”的按钮,它将扫描二维码。我需要知道我必须在 android 上实现什么方法/函数/类或 API 才能使该操作起作用。安卓有这个吗?

预先感谢!。

PS:我听说过 Zxing,但如果我没记错的话,该应用程序需要安装在手机上,我不想这样做,因为我正在开发自己的应用程序,我打算用它来完成整个工作。

4

3 回答 3

2

我不知道,但你可以研究 ZXing 源代码他们是如何做到的http://code.google.com/p/zxing/source/checkout

于 2012-09-17T15:21:28.633 回答
1

为了在junaio中实现扫描功能,您必须设置跟踪配置“arel.Tracking.BARCODE_QR”(http://dev.junaio.com/arel/documentationArelJS/symbols/arel.Tracking.html

每次扫描二维码时,都会通过 onTrackingEvent 回调获得回调。在该回调中,您可以决定要执行的操作。

于 2012-09-18T08:15:13.770 回答
0

好的,情况就是这样,我对代码进行了一些建议的更改,以便它可以扫描二维码。我对文件夹 arel 内的 index.php 文件所做的更改。

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

这里的问题是它不扫描任何代码,我把手机扫描代码并没有任何反应......有人知道我在这里做错了什么吗?......我会感谢任何帮助。

谢谢。

伊格纳西奥。

于 2012-09-22T14:12:16.750 回答