蓝牙BLE连接设备报错onClientConnectionState() - status=133解决方法

2023-11-20

S905平台,Android 5.1.1,WIFI+蓝牙芯片AP6255,客户某蓝牙设备使用他们专用的APK连接不上,查logcat信息如下:

D/BluetoothAdapter( 5097): stopLeScan()
D/BluetoothAdapter( 5097): scan not started yet
D/BluetoothLeService( 5097): Trying to use an existing mBluetoothGatt for connection.
D/BtGatt.GattService( 5132): clientConnect() - address=00:0C:BF:18:AC:07, isDirect=false
D/btif_config( 5132): btif_get_address_type: Device [00:0c:bf:18:ac:07] address type 0
D/btif_config( 5132): btif_get_device_type: Device [00:0c:bf:18:ac:07] type 3
E/bt-att  ( 5132): Unsupported transport for background connection
E/bt-btif ( 5132): bta_gattc_init_bk_conn failed
D/BtGatt.GattService( 5132): onConnected() - clientIf=5, connId=65535, address=00:0C:BF:18:AC:07
D/BluetoothGatt( 5097): onClientConnectionState() - status=133 clientIf=5 device=00:0C:BF:18:AC:07
I/BluetoothLeService( 5097): 您的手机无法连接该设备...

网上的解决是在APK里面做一些close操作释放资源再重新连接设备,所以先让他们尝试修改APK发现无果。

后来分析了一下蓝牙Bluedroid协议栈,找到报错的位置:

BOOLEAN GATT_Connect (tGATT_IF gatt_if, BD_ADDR bd_addr, BOOLEAN is_direct, tBT_TRANSPORT transport)
{
    tGATT_REG    *p_reg;
    BOOLEAN status = FALSE;

    GATT_TRACE_API ("GATT_Connect gatt_if=%d", gatt_if);

    /* Make sure app is registered */
    if ((p_reg = gatt_get_regcb(gatt_if)) == NULL)
    {
        GATT_TRACE_ERROR("GATT_Connect - gatt_if =%d is not registered", gatt_if);
        return(FALSE);
    }

    if (is_direct)
        status = gatt_act_connect (p_reg, bd_addr, transport);
    else
    {
        if (transport == BT_TRANSPORT_LE)
        status = gatt_update_auto_connect_dev(gatt_if,TRUE, bd_addr, TRUE);
        else
        {
            GATT_TRACE_ERROR("Unsupported transport for background connection");
        }
    }

    return status;

}

再结合/data/misc/bluedroid/bt_config.xml里面扫描到的设备信息,发现DevType是3

130|root@p201:/ # cat /data/misc/bluedroid/                                    
bt_config.old   bt_config.xml   
130|root@p201:/ # cat /data[  872.319441@0] type=1400 audit(1533261021.174:28): avc: denied { read } for pid=2796 comm="sh" name="bluedroid" dev="mmcblk0p14" ino=144867 scontext=u:r:shell:s0 tcontext=u:object_r:bluetooth_data_file:s0 tclass=dir permissive=1
/misc/bluedroid/bt_config.      [  872.343311@0] type=1400 audit(1533261021.174:29): avc: denied { open } for pid=2796 comm="sh" path="/data/misc/bluedroid" dev="mmcblk0p14" ino=144867 scontext=u:r:shell:s0 tcontext=u:object_r:bluetooth_data_file:s0 tclass=dir permissive=1
        [  872.367313@1] type=1400 audit(1533261021.174:30): avc: denied { getattr } for pid=2796 comm="sh" path="/data/misc/bluedroid/bt_config.xml" dev="mmcblk0p14" ino=144907 scontext=u:r:shell:s0 tcontext=u:object_r:bluetooth_data_file:s0 tclass=file permissive=1

bt_config.old   bt_config.xml   
at /data/misc/bluedroid/bt_config.xml                                         <
<Bluedroid>
    <N1 Tag="Local">
        <N1 Tag="Adapter">
    [  876.213669@0] type=1400 audit(1533261025.074:31): avc: denied { read } for pid=2796 comm="sh" name="bt_config.xml" dev="mmcblk0p14" ino=144907 scontext=u:r:shell:s0 tcontext=u:object_r:bluetooth_data_file:s0 tclass=file permissive=1
[  876.236668@1] type=1400 audit(1533261025.074:32): avc: denied { open } for pid=2796 comm="sh" path="/data/misc/bluedroid/bt_config.xml" dev="mmcblk0p14" ino=144907 scontext=u:r:shell:s0 tcontext=u:object_r:bluetooth_data_file:s0 tclass=file permissive=1
        <N1 Tag="BluezMigrationDone" Type="int">1</N1>
            <N2 Tag="Address" Type="string">22:22:be:e3:0b:b1</N2>
            <N3 Tag="LE_LOCAL_KEY_IR" Type="binary">8539be4988f0ebfb4dccdd3ea4772006</N3>
            <N4 Tag="LE_LOCAL_KEY_IRK" Type="binary">5d696d1fefdcae55a7d0cb3cbc085c18</N4>
            <N5 Tag="LE_LOCAL_KEY_DHK" Type="binary">e825f9c5519b2843037ecbae6fab536a</N5>
            <N6 Tag="ScanMode" Type="int">1</N6>
            <N7 Tag="DiscoveryTimeout" Type="int">120</N7>
            <N8 Tag="LE_LOCAL_KEY_ER" Type="binary">70abd7c3fbbbd50fefcd1a6c5bfbb121</N8>
        </N1>
        <N2 Tag="AutoPairBlacklist">
            <N1 Tag="AddressBlacklist" Type="string">00:02:C7,00:16:FE,00:19:C1,00:1B:FB,00:1E:3D,00:21:4F,00:23:06,00:24:33,00:A0:79,00:0E:6D,00:13:E0,00:21:E8,00:60:57,00:0E:9F,00:12:1C,00:18:91,00:18:96,00:13:04,00:16:FD,00:22:A0,00:0B:4C,00:60:6F,00:23:3D,00:C0:59,00:0A:30,00:1E:AE,00:1C:D7,00:80:F0,00:12:8A,00:09:93,00:80:37,00:26:7E,00:26:e8</N1>
            <N2 Tag="ExactNameBlacklist" Type="string">Motorola IHF1000,i.TechBlueBAND,X5 Stereo v1.3,KML_CAN</N2>
            <N3 Tag="FixedPinZerosKeyboardBlacklist" Type="string">00:0F:F6</N3>
            <N4 Tag="PartialNameBlacklist" Type="string">BMW,Audi,Parrot,Car</N4>
        </N2>
    </N1>
    <N2 Tag="Remote">
        <N1 Tag="00:0c:bf:18:ac:07">
            <N1 Tag="Name" Type="string">Haier-V3-15EJ</N1>
            <N2 Tag="DevClass" Type="int">7936</N2>
            <N3 Tag="DevType" Type="int">3</N3>
            <N4 Tag="AddrType" Type="int">0</N4>
            <N5 Tag="Manufacturer" Type="int">57</N5>
            <N6 Tag="LmpVer" Type="int">6</N6>
            <N7 Tag="LmpSubVer" Type="int">256</N7>
            <N8 Tag="Timestamp" Type="int">1533260847</N8>
            <N9 Tag="LinkKeyType" Type="int">0</N9>
            <N10 Tag="PinLength" Type="int">4</N10>
            <N11 Tag="LinkKey" Type="binary">43ac65f2968ed22332e3b35e11053e68</N11>
            <N12 Tag="Service" Type="string">00001101-0000-1000-8000-00805f9b34fb </N12>
        </N1>
        <N2 Tag="1e:3f:2b:d7:df:ba">
            <N1 Tag="DevType" Type="int">2</N1>
        </N2>
        <N3 Tag="19:2f:6d:16:e1:9a">
            <N1 Tag="DevType" Type="int">2</N1>
        </N3>
        <N4 Tag="00:cf:86:87:dd:fe">
            <N1 Tag="DevType" Type="int">2</N1>
        </N4>
        <N5 Tag="04:ba:fa:4a:43:47">
            <N1 Tag="DevType" Type="int">2</N1>
        </N5>
        <N6 Tag="f3:fc:89:2a:78:65">
            <N1 Tag="Name" Type="string">MI Band 2</N1>
            <N2 Tag="DevClass" Type="int">7936</N2>
            <N3 Tag="DevType" Type="int">2</N3>
            <N4 Tag="AddrType" Type="int">1</N4>
        </N6>
        <N7 Tag="24:e9:87:6b:46:c0">
            <N1 Tag="DevType" Type="int">2</N1>
        </N7>
        <N8 Tag="df:8d:b0:fe:ed:b3">
            <N1 Tag="Name" Type="string">MI Band 2</N1>
            <N2 Tag="DevClass" Type="int">7936</N2>
            <N3 Tag="DevType" Type="int">2</N3>
            <N4 Tag="AddrType" Type="int">1</N4>
        </N8>
        <N9 Tag="1f:19:c0:57:1f:30">
            <N1 Tag="DevType" Type="int">2</N1>
        </N9>
        <N10 Tag="74:23:44:d1:33:73">
            <N1 Tag="Timestamp" Type="int">1533259246</N1>
            <N2 Tag="Name" Type="string">QCOM-BTD</N2>
            <N3 Tag="DevClass" Type="int">5898764</N3>
            <N4 Tag="DevType" Type="int">1</N4>
            <N5 Tag="AddrType" Type="int">0</N5>
        </N10>
        <N11 Tag="94:87:e0:81:4b:7b">
            <N1 Tag="Timestamp" Type="int">1533260859</N1>
            <N2 Tag="Name" Type="string">MI8</N2>
            <N3 Tag="DevClass" Type="int">5898764</N3>
            <N4 Tag="DevType" Type="int">1</N4>
            <N5 Tag="AddrType" Type="int">0</N5>
        </N11>
        <N12 Tag="b4:0b:44:d7:ad:f9">
            <N1 Tag="Timestamp" Type="int">1531747811</N1>
            <N2 Tag="Name" Type="string">坚果 Pro</N2>
            <N3 Tag="DevClass" Type="int">5898764</N3>
            <N4 Tag="DevType" Type="int">1</N4>
            <N5 Tag="AddrType" Type="int">0</N5>
        </N12>
        <N13 Tag="e4:46:da:7b:1d:29">
            <N1 Tag="Timestamp" Type="int">1533260103</N1>
            <N2 Tag="Name" Type="string">小米手机</N2>
            <N3 Tag="DevClass" Type="int">5898764</N3>
            <N4 Tag="DevType" Type="int">1</N4>
            <N5 Tag="AddrType" Type="int">0</N5>
        </N13>
        <N14 Tag="23:19:24:5e:1a:d4">
            <N1 Tag="DevType" Type="int">2</N1>
        </N14>
        <N15 Tag="17:2a:3f:73:87:bc">
            <N1 Tag="DevType" Type="int">2</N1>
        </N15>
        <N16 Tag="12:9c:bb:ae:1c:c6">
            <N1 Tag="DevType" Type="int">2</N1>
        </N16>
        <N17 Tag="3a:88:0c:5e:85:b5">
            <N1 Tag="DevType" Type="int">2</N1>
        </N17>
        <N18 Tag="d8:63:75:a7:0d:b0">
            <N1 Tag="Timestamp" Type="int">1533259264</N1>
            <N2 Tag="DevClass" Type="int">5898764</N2>
            <N3 Tag="DevType" Type="int">1</N3>
            <N4 Tag="AddrType" Type="int">0</N4>
            <N5 Tag="Name" Type="string">小米手机</N5>
        </N18>
        <N19 Tag="20:82:c0:63:d0:c3">
            <N1 Tag="Timestamp" Type="int">1533260691</N1>
            <N2 Tag="Name" Type="string">小米手机</N2>
            <N3 Tag="DevClass" Type="int">5898764</N3>
            <N4 Tag="DevType" Type="int">1</N4>
            <N5 Tag="AddrType" Type="int">0</N5>
        </N19>
        <N20 Tag="fc:3d:93:77:16:2c">
            <N1 Tag="Timestamp" Type="int">1533259263</N1>
            <N2 Tag="DevClass" Type="int">2491420</N2>
            <N3 Tag="DevType" Type="int">1</N3>
            <N4 Tag="AddrType" Type="int">0</N4>
            <N5 Tag="Manufacturer" Type="int">10</N5>
            <N6 Tag="LmpVer" Type="int">4</N6>
            <N7 Tag="LmpSubVer" Type="int">4192</N7>
            <N8 Tag="Name" Type="string">小钢炮蓝牙音箱青春版</N8>
        </N20>
        <N21 Tag="a4:93:3f:ae:72:f7">
            <N1 Tag="Timestamp" Type="int">1533259385</N1>
            <N2 Tag="Name" Type="string">honor Band 3-2f7</N2>
            <N3 Tag="DevClass" Type="int">7936</N3>
            <N4 Tag="DevType" Type="int">2</N4>
            <N5 Tag="AddrType" Type="int">0</N5>
        </N21>
        <N22 Tag="3b:8c:47:7e:22:1d">
            <N1 Tag="DevType" Type="int">2</N1>
        </N22>
        <N23 Tag="14:3b:2d:e1:5b:28">
            <N1 Tag="DevType" Type="int">2</N1>
        </N23>
        <N24 Tag="0e:e2:21:17:b0:5c">
            <N1 Tag="DevType" Type="int">2</N1>
        </N24>
        <N25 Tag="10:9e:ce:2b:bd:b0">
            <N1 Tag="DevType" Type="int">2</N1>
        </N25>
        <N26 Tag="08:e3:16:3a:2e:fb">
            <N1 Tag="DevType" Type="int">2</N1>
        </N26>
        <N27 Tag="15:cb:96:47:01:c4">
            <N1 Tag="DevType" Type="int">2</N1>
        </N27>
        <N28 Tag="2a:a3:46:00:de:5d">
            <N1 Tag="DevType" Type="int">2</N1>
        </N28>
        <N29 Tag="2b:ca:84:8b:bc:22">
            <N1 Tag="DevType" Type="int">2</N1>
        </N29>
        <N30 Tag="2e:f4:0e:38:71:5a">
            <N1 Tag="DevType" Type="int">2</N1>
        </N30>
        <N31 Tag="30:1c:10:14:43:f0">
            <N1 Tag="DevType" Type="int">2</N1>
        </N31>
        <N32 Tag="74:d2:1d:0f:48:8d">
            <N1 Tag="Timestamp" Type="int">1533260489</N1>
            <N2 Tag="DevClass" Type="int">5898764</N2>
            <N3 Tag="DevType" Type="int">1</N3>
            <N4 Tag="AddrType" Type="int">0</N4>
            <N5 Tag="Name" Type="string">Honor V10</N5>
        </N32>
        <N33 Tag="01:9e:97:fc:4c:d6">
            <N1 Tag="DevType" Type="int">2</N1>
        </N33>
        <N34 Tag="33:49:3a:7d:03:0b">
            <N1 Tag="DevType" Type="int">2</N1>
        </N34>
        <N35 Tag="29:25:36:91:e3:3b">
            <N1 Tag="DevType" Type="int">2</N1>
        </N35>
        <N36 Tag="1d:76:c3:1b:e4:cc">
            <N1 Tag="DevType" Type="int">2</N1>
        </N36>
        <N37 Tag="b8:98:f7:2c:ac:3d">
            <N1 Tag="Timestamp" Type="int">1533260848</N1>
            <N2 Tag="Name" Type="string">GIONEE GN8003L</N2>
            <N3 Tag="DevClass" Type="int">5898764</N3>
            <N4 Tag="DevType" Type="int">1</N4>
            <N5 Tag="AddrType" Type="int">0</N5>
        </N37>
    </N2>
</Bluedroid>

从出错代码来看:

        if (transport == BT_TRANSPORT_LE)
        status = gatt_update_auto_connect_dev(gatt_if,TRUE, bd_addr, TRUE);
        else
        {
            GATT_TRACE_ERROR("Unsupported transport for background connection");
        }

BT_TRANSPORT_LE定义为2

应该是由于设备上报了3,导致这里的gatt_update_auto_connect_dev没有跑进去,所以对代码做了修改:

        if ((transport & BT_TRANSPORT_LE) == BT_TRANSPORT_LE)
        status = gatt_update_auto_connect_dev(gatt_if,TRUE, bd_addr, TRUE);
        else
        {
            GATT_TRACE_ERROR("Unsupported transport for background connection");
        }

修改后该设备正常连接S905。

究其原因,应该是旧版本的bluedroid协议栈对DevType为3的设备的处理存在问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝牙BLE连接设备报错onClientConnectionState() - status=133解决方法 的相关文章

  • EditText 中的验证允许 IP 或 Web Url 主机

    我需要对我的 EditText 进行验证 以便它允许我输入有效的 IP 地址格式 即示例 132 0 25 225 or 网址格式 www 例如 www example com 逻辑是 如果用户首先输入任何数值 则验证 IP 将执行操作 否
  • 已发布的 Flutter 应用程序在启动时崩溃

    编辑 此问题的解决方案是将您的 flutter 版本升级到较新的 dev 版本 then 1 7 0 您还可以上传单独的 APK 版本 但我个人不喜欢这个选项 请确保您没有从 flutter github 开发存储库下载 错误的构建 因为那
  • 关闭 Android 中的飞行模式

    如果 num gt 50 我想关闭飞行模式 我实现了这段代码 来自在 Android 中切换飞行模式 https stackoverflow com questions 5533881 toggle airplane mode in and
  • 是否可以使用最新的 APP_PLATFORM,同时仍保持向后兼容性?

    这是我的 Application mk APP ABI armeabi v7a APP PLATFORM android 16 APP OPTIM release APP STL gnustl static APP CPPFLAGS std
  • Android 上的 Firebase:如何检查 Firebase 身份验证失败原因?

    我在 Android 上使用 Firebase 和 Firebase Auth 功能 I try FirebaseAuth signInWithEmailAndPassword如果失败 我想知道为什么登录过程失败 The signInWit
  • 为什么我将可绘制文件重命名为 .9.png 后出现“Some file crunching failed”?

    我正在测试 9 patch 图像 在一切正常之前 我重命名drawable file ic button beat box default png to ic button beat box default 9 png 然后我收到错误 某些
  • Google Firebase - 如何删除崩溃报告?

    我最终失明了吗 还是没有明显的方法可以通过 Google Firebase Web 控制台删除 Firebase 崩溃报告 我的 Android 应用程序已成功记录报告 但现在出现大量 开发崩溃 占用了我在控制台中的大部分视图 这使得找到实
  • 按钮未显示在屏幕上

    我创建了一个应用程序 其中显示带有图像和文本的列表视图 我在页面末尾添加按钮 但这没有显示在屏幕上 我是 Android 新手 我该如何解决这个问题 这是我的 UI XML 代码
  • 如何将画廊意图中的“打开”更改为“完成”?

    我使用以下意图打开画廊来选择多个图像和视频 Intent intent new Intent intent setType image video intent putExtra Intent EXTRA ALLOW MULTIPLE tr
  • 在 WebView 中完成 AdBlock

    我即将在我的 Android 应用程序中推出 WebView AdBlocking 我想知道这是否会有效地阻止广告 或者在 Webview 本身内是否还有更多工作要做 我尚未修改 基本上我有一个存储在 Android 资产中的主机文件 其中
  • Android-工具栏中的SearchView

    我只想在我的应用程序中添加 searchview 但我不想搜索任何东西 只是我想要用户输入的查询 到目前为止 我尝试了这段代码 但是当我运行我的应用程序时它崩溃了 Update 我尝试了这个 但即使我的应用程序崩溃了 main menu x
  • AnalyticsService 未在应用程序清单中注册 - 错误

    我正在尝试使用 sdk 中提供的以下文档向 Android 应用程序实施谷歌分析服务 https developers google com analytics devguides collection android v4 https d
  • Android ListView setSelection() 似乎不起作用

    我有一个ListActivity实现onListItemClick 并调用doSomething 类的功能 后者包含l setSelection position where l is the ListView object 现在有一个on
  • Ionic Facebook Api 无效密钥哈希

    我无法让我的应用程序允许 Facebook 登录 每次用户尝试登录 Facebook 并使用他们的 FB 验证我的应用程序时 都会出现以下错误 无效的密钥哈希 它们的密钥哈希 xxxxxxxxxx 与任何存储的密钥哈希不匹配 配置您的应用程
  • android 中camera.setParameters 失败

    我已将相机功能包含在我的应用程序中 我还在市场上推出了该应用程序 我从一位用户那里收到一条错误消息 称他在打开相机时遇到错误 我已经在 2 1 的设备上测试了该应用程序 我从用户那里得到的错误是使用 Nexus One 它主要运行 2 2
  • 内部存储的安全性如何?

    我需要的 对于 Android 我需要永久保存数据 但也能够编辑 并且显然是读取 它 用户不应访问此数据 它可以包含诸如高分之类的内容 用户不得对其进行编辑 我的问题 我会 并且已经 使用过Internal Storage 但我不确定它实际
  • 如何获取android手机型号、版本、sdk详细信息?

    如何获取android手机型号 版本 sdk详细信息 首先 看看 android sdk 页面上的这些 Build 类 http developer android com reference android os Build html h
  • Android:确定 2.2 及更高版本上的摄像头数量

    我的应用程序需要在 Android 2 2 及更高版本上运行 我需要一种方法来确定可用摄像机的数量 有很多帖子解决了这个问题 但我找不到一个有效的 一种解决方案是简单地检测操作系统版本 任何 2 2 版本的设备都仅限于 1 个摄像头 即使该
  • Android:无法发送http post

    我一直在绞尽脑汁试图弄清楚如何在 Android 中发送 post 方法 这就是我的代码的样子 public class HomeActivity extends Activity implements OnClickListener pr
  • putFragment() - 片段 x 当前不在 FragmentManager 中

    上面的标题被问了很多次 但答案似乎与FragmentStatePagerAdapter这与我的问题无关 我正在使用该方法putFragment Bundle String Fragment 直接地 The 安卓文档 http develop

随机推荐

  • 代码随想录算法训练营19期第42天

    01背包问题 二维 代码随想录 视频讲解 带你学透0 1背包问题 关于背包问题 你不清楚的地方 这里都讲了 动态规划经典问题 数据结构与算法 哔哩哔哩 bilibili 初步思路 动态规划 背包问题 总结 dp i j 表示从下标为 0 i
  • Spring Boot(十):Druid的监控统计和多数据源配置

    Druid的监控统计 Druid内置提供一个StatFilter 用于统计监控信息 下面我们就来做一些配置 启动Druid的监控 1 配置pom xml
  • JS阻止事件冒泡的几种方式

    JS阻止事件冒泡的几种方式 事件委托 将元素的绑定事件写起其父元素上 防止事件冒泡 example div div div div 将事件绑定在父元素上 不管子元素是不是动态生成的 将第一种绑定事件写成第二种方式 son click fun
  • Tomcat启动乱码

    修改tomcat的conf下的logging properties中的参数 java util logging ConsoleHandler encoding GBK 将UTF 8改到GBK就行了保存后重启tomcat就正常了
  • 如何调整oracle参数,使它支持更多的用户连接

    在参数文件中有三个参数 processes license max sessions license max users 这三个参数相互作用影响着用户连接数 license max sessions 同时连接数据库的会话数 license
  • 手把手教你通过端口映射,轻松搭建Windows远程桌面

    市面上有很多的远程桌面软件 如TeamViewer 向日葵等 但无一例外 它们提供的免费服务连接质量普遍不高 而付费服务价格又偏高 并不能使人满意 但众所周知 微软自带的Windows远程桌面其实在连接质量和稳定性方面一点都不输给第三方软件
  • jquery中$()的使用

    在jquery中最常使用的就是 这个符号了 在我没有系统的学习jquery之前 我用到的 都是用于对元素的选择 而这只是 的很简单的用法 在jquery 函数一共有三种用法 selector context 在这个方法中selector是选
  • error: GLES2/gl2.h: No such file or directory

    最近一个朋友让帮忙编译android程序 中间遇到了很多问题 大概都解决了 最后又遇到了一个问题 GLES2 gl2 h No such file or directory 这个问题 我大概知道是怎么回事 关键是没有指定ndk的编译版本号
  • 公司刚上市就来了个从字节拿28K的人,让我见识到了什么才是测试天花板···

    5年测试 应该是能达到资深测试的水准 即不仅能熟练地开发业务 而且还能熟悉项目开发 测试 调试和发布的流程 而且还应该能全面掌握数据库等方面的技能 如果技能再高些的话 甚至熟悉分布式组件等高级技能 或者说 做个项目小组长 管个3 4号人 应
  • router-link 和 router-view 的 关系

  • vue整合ueditor

    一 前端代码 Ueditor官网地址为 http ueditor baidu com website download html ueditor 下载好之后 将Jsp版本解压 解压后文件夹改名为ueditor 将文件夹中的jsp目录删掉 之
  • Elasticsearch7 清空指定Index 相关数据

    注意 Elasticsearch7 起 Index索引已经不支持创建指定Type 类型 默认取值为 doc Elasticsearch7 清空指定Index 语法 POST 请求 http es 服务器地址 索引名称 delete by q
  • go 进阶 gin实战相关: 五. gin_scaffold 企业脚手架

    目录 一 gin scaffold 企业级脚手架 二 gin scaffold 脚手架安装及使用演示 文件分层解释 开始使用 1 配置开启go mod 功能 2 下载 安装 gin scaffold 3 整合 golang common 4
  • 原生js php ajax,原生Ajax怎么写

    写原生Ajax的方法 首先创建XMLHttpRequest对象 然后编写回调函数onreadystatechange 接着配置请求信息 最后发送请求即可 Ajax Asynchronous JavaScript and XML的缩写 是一种
  • C#使用NuGet包播放视频之二————读取RTSP流

    RTSP流的读取 上篇文章做到读取本地摄像头 基本事都做完了 这篇文章将RTSP流加进去 双击窗体中ToolStrip的RTSP 为之添加事件 事件中编写代码如下
  • Yii2框架(一)安装及目录结构

    如题 对 你要相信自己的眼睛 你没看错确实是Yii2框架 现在都2020年了 刚刚开始折腾Yii2框架难免有些过时 但是没办法 公司目前的项目是基于Yii2开发的 嘿 你说怎么这么巧 我还没用过Yii2框架 没办法 看手册呗 这玩意 万变不
  • Vue2运行报错SyntaxError: Cannot use import statement outside a module

    问题描述 像配置vue3那样配置vue config js的路径代理 代替src后 报错 语法错误 不能在模块外部使用导入语句 原因 模块语法一个是CommonJS module 一个是 ES6 module vue config js里的
  • Google Voice账号的具体保号教程

    Google Voice 官方号码回收规则 https www google com intl zh CN googlevoice program policies html 在9个月内你的Google Voice没拔打电话或接收短信 你的
  • Hbase使用shell命令报错大集锦:

    一 Hbase使用shell命令出现报错 PleaseHoldException Master is initializing 解决办法 0 保证hbase运行着的 1 删除HDFS里hbase文件夹 hdfs dfs rm r hbase
  • 蓝牙BLE连接设备报错onClientConnectionState() - status=133解决方法

    S905平台 Android 5 1 1 WIFI 蓝牙芯片AP6255 客户某蓝牙设备使用他们专用的APK连接不上 查logcat信息如下 D BluetoothAdapter 5097 stopLeScan D BluetoothAda