android智能终端SDK

移动支付产品接入文档


扫码接入必读

<h3>扫描功能提供2种接入方式,二选一接入即可,推荐使用第一种免开发光标位置自动输入扫码内容:</h3> <ul> <li>第一种是直接使用扫描工具,无需开发,扫描结果自动输入光标位置,适用于标准软件,软件条码框支持键盘输入即可按键扫码;</li> <li>第二种是通过接收物理按键Scan键发出的广播来实现,也需要开发人员接入,加入广播消息接收扫码结果,跟进实际业务需求处理扫码结果内容。</li> </ul> <hr /> <h4>方式一:</h4> <ul> <li>首先确保设备上安装如下图标的app,然后打开自身的app并确保界面上有光标聚焦的编辑框,按下Scan键,扫描内容会自动填充到当前的编辑框内。该方法仅适应于除3502/3505以外的手持设备。 <img src="http://doc.szzkc.com/Public/Uploads/2018-03-01/5a97652de3c20.png" alt="" /> <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=3bfe4e88ef47ea2395dffd596ae3b892&amp;amp;file=file.png" alt="" /></li> </ul> <hr /> <h4>方式二(确保上图app已安装)</h4> <h5>演示源码下载:</h5> <p>&gt; <a href="http://www.szzkc.com/down_data_detail_293.html">http://www.szzkc.com/down_data_detail_293.html</a></p> <p>[M系列产品示例源码](<a href="http://doc.szzkc.com/Public/Uploads/2022-12-12/ScanSdkDemo221212.rar">http://doc.szzkc.com/Public/Uploads/2022-12-12/ScanSdkDemo221212.rar</a> &quot;M系列产品示例源码&quot;)</p> <h5>M系列产品需要添加系统签名</h5> <p>一、在AndroidManifest.xml文件中,添加 android:sharedUserId=&quot;android.uid.system&quot; 属性 <img src="http://doc.szzkc.com/server/../Public/Uploads/2022-12-12/639708897e437.png" alt="" /> <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=a1ceacc541575e75ffdbb2bb53ce0e30&amp;amp;file=file.png" alt="" /></p> <p>二、在文件build.gradle (app)文件导入签名文件:[签名文件](<a href="http://doc.szzkc.com/server/../Public/Uploads/2022-12-12/6396e1d89c9e2.rar">http://doc.szzkc.com/server/../Public/Uploads/2022-12-12/6396e1d89c9e2.rar</a> &quot;签名文件&quot;) <img src="http://doc.szzkc.com/server/../Public/Uploads/2022-12-12/6397070e7bf20.png" alt="" /> <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=e769fd0535e4d960798b9766661ab2d2&amp;amp;file=file.png" alt="" /></p> <h5>扫描开关:</h5> <ul> <li>扫码可以通过广播消息来控制开关,关闭扫码后,摄像头可以正常使用 <pre><code class="language-java">boolean flg=true;//true or false Intent intentBroadcast = new Intent(); intentBroadcast.setAction(&amp;quot;com.zkc.scan&amp;quot;); intentBroadcast.putExtra(&amp;quot;scan_power&amp;quot;, flg); mContext.sendBroadcast(intentBroadcast);</code></pre></li> </ul> <h5>触发扫描:</h5> <ul> <li>触发扫描可以通过SCAN物理按键完成,或者通过app发送按键广播消息 <pre><code class="language-java">//app发送按键广播消息方式 Intent intentBroadcast = new Intent(); intentBroadcast.setAction(&amp;quot;com.zkc.keycode&amp;quot;); intentBroadcast.putExtra(&amp;quot;keydown&amp;quot;, 136||137); mContext.sendBroadcast(intentBroadcast);</code></pre> <p>&gt; 其中keyCode值可以是136,137,135,131,141中任意一个值</p></li> </ul> <h5>接收扫描结果:</h5> <ul> <li> <p>自定义广播消息,接收扫描结果的广播消息。</p> <p>声明广播接收类 Declare the broadcast receiving class private ScanBroadcastReceiver scanBroadcastReceiver = null;</p> </li> </ul> <hr /> <pre><code class="language-java">注册广播消息Register the broadcast message //1.8.11以前版本使用 intentFilter.addAction(&amp;quot;com.zkc.scancode&amp;quot;); if(scanBroadcastReceiver==null) { scanBroadcastReceiver = new ScanBroadcastReceiver(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(&amp;quot;com.scancode.resault&amp;quot;); this.registerReceiver(scanBroadcastReceiver, intentFilter); }</code></pre> <pre><code class="language-java">定义广播消息类 class ScanBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub String text = intent.getExtras().getString(&amp;quot;code&amp;quot;); Log.i(&amp;quot;ScanBroadcastReceiver&amp;quot;, &amp;quot;ScanBroadcastReceiver code:&amp;quot; + text); } }</code></pre>

页面列表

ITEM_HTML