8、BLE蓝牙按键jar包使用说明
<h6></h6>
<h1>BLE jar包接口说明</h1>
<h3><strong>简要描述:</strong></h3>
<ul>
<li>主要将ble蓝牙操作封装成jar包,方便应用直接使用,适用于瞄拍客蓝牙按键</li>
</ul>
<p><strong>1.获取BLE操作实例:</strong> </p>
<ul>
<li><code>WrcManager wrcManager = WrcManager.getInstance();</code></li>
</ul>
<p><strong>2.初始化:</strong></p>
<ul>
<li><code>wrcManager.init(context);</code></li>
</ul>
<p><strong>3.判断设备是否支持BLE:</strong> </p>
<ul>
<li><code>boolean isWrcSupport = wrcManager.isWrcSupport(mContext);</code></li>
</ul>
<p><strong>4.判断设备是否支持BLE:</strong> </p>
<ul>
<li><code>boolean isBtOpen = wrcManager.isBluetoothEnabled()</code></li>
</ul>
<p><strong>5.开始扫描BLE设备:</strong> </p>
<ul>
<li>
<p><code>wrcManager.startWrcScan(scanCallback)</code></p>
<p><strong>scanCallback为ScanCallback回调,如:</strong></p>
</li>
</ul>
<pre><code> private ScanCallback scanCallback = new ScanCallback() {
/**
* 扫描出错时回调
*
* @param errorCode 错误码
*/
@Override
public void onScanError(int errorCode) {
// TODO Auto-generated method stub
println(&quot;errorCode:&quot; + errorCode);
}
/**
* 扫描到设备
*
* @param device BLE设备
*/
@Override
public void onWrcScan(WrcDevice device) {
// TODO Auto-generated method stub
wdevice = device;
println(&quot;wdevice:&quot; + wdevice);
if (isconnect || wrcManager.isOnConnecting()) {
wrcManager.stopWrcScan();
} else {
wrcManager.connectWrc(wdevice, ccallback);// 连接
}
}
};</code></pre>
<p><strong>6.连接BLE设备:</strong> </p>
<ul>
<li>
<p><code>wrcManager.connectWrc(wdevice, connectCallback);</code></p>
<p><strong>wdevice为扫描到的ble设备,connectCallback为WrcCallback回调,如:</strong></p>
</li>
</ul>
<pre><code> private WrcCallback connectCallback = new WrcCallback() {
@Override
public void onConnected(WrcDevice device) {
// TODO Auto-generated method stub
isconnect = true;
println(&quot;onConnected device:&quot; + device);
}
@Override
public void onDisconnected(WrcDevice device) {
// TODO Auto-generated method stub
isconnect = false;
println(&quot;onDisconnected device:&quot; + device);
// wrcManager.disconnect();
}
@Override
public void onError(int errorCode) {
// TODO Auto-generated method stub
isconnect = false;
println(&quot;connect errorCode:&quot; + errorCode);
}
@Override
public void onWrcKeyEvent(byte[] data) {
// TODO Auto-generated method stub
if (data != null &amp;&amp; data.length &gt; 0) {
final StringBuilder stringBuilder = new StringBuilder(
data.length);
for (byte byteChar : data) {
stringBuilder.append(byteChar);
}
String dataString = stringBuilder.toString();
LogUtil.d(TAG, &quot;keyValue = &quot; + dataString);
}
sendKeyEvent(&quot;收到按键&quot;);
}
};</code></pre>
<p><strong>7.断开BLE:</strong> </p>
<ul>
<li><code>wrcManager.disconnect();</code></li>
</ul>
<p><strong>8.判断是否连接上BLE:</strong> </p>
<ul>
<li>
<p><code>boolean isConnect = wrcManager.isConnectWrc();</code></p>
</li>
<li>更多返回错误代码请参考代码中定义的错误代码描述</li>
</ul>
<p>**9.需要权限:</p>
<pre><code class="language-java"> &lt;uses-permission android:name=&quot;android.permission.BLUETOOTH&quot; /&gt;
&lt;uses-permission android:name=&quot;android.permission.BLUETOOTH_ADMIN&quot; /&gt;
&lt;uses-feature
android:name=&quot;android.hardware.bluetooth_le&quot;
android:required=&quot;true&quot; /&gt;</code></pre>