我正在使用适用于 android 的 junaio 模板(增强现实),我添加了一个名为“扫描”的按钮,它将扫描二维码。我需要知道我必须在 android 上实现什么方法/函数/类或 API 才能使该操作起作用。安卓有这个吗?
预先感谢!。
PS:我听说过 Zxing,但如果我没记错的话,该应用程序需要安装在手机上,我不想这样做,因为我正在开发自己的应用程序,我打算用它来完成整个工作。
我不知道,但你可以研究 ZXing 源代码他们是如何做到的http://code.google.com/p/zxing/source/checkout
为了在junaio中实现扫描功能,您必须设置跟踪配置“arel.Tracking.BARCODE_QR”(http://dev.junaio.com/arel/documentationArelJS/symbols/arel.Tracking.html)
每次扫描二维码时,都会通过 onTrackingEvent 回调获得回调。在该回调中,您可以决定要执行的操作。
好的,情况就是这样,我对代码进行了一些建议的更改,以便它可以扫描二维码。我对文件夹 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>
这里的问题是它不扫描任何代码,我把手机扫描代码并没有任何反应......有人知道我在这里做错了什么吗?......我会感谢任何帮助。
谢谢。
伊格纳西奥。