WeChat アプレットの Bluetooth リンク
この記事では主に WeChat アプレットの Bluetooth リンクの関連情報を紹介します。この記事を通じて、皆さんがアプレットの Bluetooth 開発方法をマスターできることを願っています。
の Bluetooth リンク。 WeChat アプレット
WeChat ミニ プログラム Bluetooth 接続 2.0 説明:
1. このバージョンは、ANDROID および IOS システムでの Bluetooth 接続のさまざまな方法を区別します。
2. より多くの状況で互換性のあるリンクは次のとおりです:
(1) デバイスの Bluetooth がオンになっていない場合、Bluetooth がオンになると接続が自動的に開始されます。
(2) Bluetooth の初期化に失敗した後、3000ms ごとに Bluetooth アダプターを自動的に再初期化します。
(3) Android 側で Bluetooth アダプターを開く際の Bluetooth アダプターのスキャンが失敗し、3000ms ごとに自動的に再起動されます。
(4) IOS側は接続されているBluetoothデバイスを空として取得し、3000msごとに自動で再取得します。
(5) Android Bluetooth接続開始後にスキャンが中断される 接続に失敗した場合は、再度スキャンしてください。
(6) IOS側はデバイスへの接続を開始した後、接続されたデバイスの取得を停止し、接続に失敗した場合は自動的に取得を再開します。
(7) 接続に成功したら、システムの Bluetooth をオフにして、Bluetooth アダプターをリセットします。
(8) 接続が成功したら、システムの Bluetooth をオフにし、再度 Bluetooth をオンにして、自動的に接続を再開します。
(9) 接続に成功したら、対象のBluetoothデバイスの電源を切り、自動的にスキャン(取得)を再開します。
(10) 接続が成功したら、アプレットを最小化し (接続は中断されません)、アプレットを開くと、接続されたことが表示されます。
(11) 接続成功後、アプレットプロセスを強制終了し、接続を閉じ、自動的にスキャン(取得)を再開します。
3.思い出したら更新します。
4. フローチャート、もし時間があれば、明日か明後日か...
私の接続は App.js で行われます。
App.js の onLaunch トリガーは、init() メソッドを呼び出すことです。
init コード:
init: function (n) { this.list = []; this.serviceId = "6E400001-B5A3-F393-E0A9-E50E24DCCA9E"; this.serviceId_2 = "00001803-0000-1000-8000-00805F9B34FB"; this.serviceId_3 = "00001814-0000-1000-8000-00805F9B34FB"; this.serviceId_4 = "00001802-0000-1000-8000-00805F9B34FB"; this.serviceId_5 = "00001804-0000-1000-8000-00805F9B34FB"; this.serviceId_6 = "00001535-1212-EFDE-1523-785FEABCD123"; this.characterId_write = "6E400042-B5A3-F393-E0A9-E50E24DCCA9E"; this.characterId_read = "6E400012-B5A3-F393-E0A9-E50E24DCCA9E"; this.connectDeviceIndex = 0; this.isGettingConnected = false; this.isDiscovering = false; this.isConnecting = false; this.connectedDevice = {}; console.log('init state', this.connectedDevice.state); if (!this.connectedDevice.state || n == 200) { this.connectedDevice.state = false; this.connectedDevice.deviceId = ''; this.adapterHasInit = false } this.startConnect(); }
説明:
1、serviceId_2~6 は、接続したい Bluetooth デバイスの serviceId です。1 つしか書き込めません。
2.characterId_write は、データを書き込むために接続することがわかっている Bluetooth デバイスの特性値です。
3.characterId_read は、データを読み取るために接続することがわかっている Bluetooth デバイスの特性値です。
(上記の 3 つは比較用であり、実際の操作は取得した sericeid とcharacterid に基づいています)。
4. ConnectedDevice は、接続されたデバイス情報オブジェクトです。
init が完了したら、接続 startConnect(); の呼び出しを開始します。
startConnect コード:
startConnect: function () { var that = this; if (that.connectedDevice.state) return; that.connectedDevice.deviceId = ""; that.connectedDevice.state = false; // 如果适配器已经初始化不在调用初始化(重复初始化会报错) if (this.adapterHasInit == undefined || this.adapterHasInit) return; wx.showLoading({ title: '初始化蓝牙', duration: 2000 }); // 开启蓝牙适配器状态监听 this.listenAdapterStateChange(); // 初始化蓝牙适配器状态(必须步骤,否则无法进行后续的任何操作) wx.openBluetoothAdapter({ success: function (res) { console.log("初始化蓝牙适配器成功"); that.getBluetoothAdapterState(); that.adapterHasInit = true; }, fail: function (err) { console.log(err); wx.showLoading({ title: '请开蓝牙', icon: 'loading', duration: 2000 }) } }); }
説明: この段落にはコメントがあるため、詳細については説明しません。単純。
Bluetooth アダプターの状態を正常に初期化した後、getBluetoothAdapterState() メソッドを呼び出します。
getBluetoothAdapterState コード:
getBluetoothAdapterState: function () { var that = this; wx.getBluetoothAdapterState({ success: function (res) { console.log(res); var available = res.available; that.isDiscovering = res.discovering; if (!available) { wx.showLoading({ title: '请开蓝牙', icon: 'loading', duration: 2000 }) } else { if (!that.connectedDevice['state']) { that.judegIfDiscovering(res.discovering); } } }, fail: function (err) { console.log(err); } }) }
説明: このメソッドは、現在の Bluetooth ステータスを取得するために使用されます。
Bluetooth が利用可能であることが検出されると、judegIfDiscovering メソッドが呼び出されます。
judegIfDiscovering code:
judegIfDiscovering: function (discovering) { var that = this; if (this.isConnectinng) return; wx.getConnectedBluetoothDevices({ services: [that.serviceId], success: function (res) { console.log("获取处于连接状态的设备", res); var devices = res['devices']; if (devices[0]) { if (that.isAndroidPlatform) { wx.showToast({ title: '蓝牙连接成功', icon: 'success', duration: 2000 }); } else { that.getConnectedBluetoothDevices(256); } } else { if (discovering) { wx.showLoading({ title: '蓝牙搜索中' }) } else { if (that.isAndroidPlatform) { that.startBluetoothDevicesDiscovery(); } else { that.getConnectedBluetoothDevices(267); } } } }, fail: function (err) { console.log('getConnectedBluetoothDevices err 264', err); if (that.isAndroidPlatform) { that.startBluetoothDevicesDiscovery(); } else { that.getConnectedBluetoothDevices(277); } } }); }
説明:
1 このメソッドは、スキャンが進行中かどうかを判断するために使用されます。
2. アプレットの getSystemInfo を通じて isAndroidPlatform を取得し、Android デバイスか IOS デバイスかを判断します。
Android デバイスの場合は、startBluetoothDevicesDiscovery() を呼び出してスキャンを開始します。IOS デバイスの場合は、getConnectedBluetoothDevices() を呼び出して、ペアリングされた Bluetooth デバイスの取得を開始します。
startBluetoothDevicesDiscovery code:
startBluetoothDevicesDiscovery: function () { var that = this; if (!this.isAndroidPlatform) return; if (!this.connectedDevice['state']) { wx.getBluetoothAdapterState({ success: function (res) { console.log(res); var available = res.available; that.isDiscovering = res.discovering; if (!available) { wx.showLoading({ title: '请开蓝牙', icon: 'loading', duration: 2000 }) } else { if (res.discovering) { wx.showLoading({ title: '蓝牙搜索中' }) } else { wx.startBluetoothDevicesDiscovery({ services: [], allowDuplicatesKey: true, success: function (res) { that.onBluetoothDeviceFound(); wx.showLoading({ title: '蓝牙搜索中' }) }, fail: function (err) { if (err.isDiscovering) { wx.showLoading({ title: '蓝牙搜索中' }) } else { that.startDiscoveryTimer = setTimeout(function () { if (!that.connectedDevice.state) { that.startBluetoothDevicesDiscovery(); } }, 5000) } } }); } } }, fail: function (err) { console.log(err); } }) }
手順:
1. Android デバイスのみで近くの Bluetooth デバイスのスキャンを有効にします。
2. 成功したコールバックで、新しい Bluetooth デバイスを検出するために onBluetoothDeviceFound() のイベント監視を有効にします。
onBluetoothDevice 見つかったコード:
[mw_shl_code=javascript,true]onBluetoothDeviceFound: function () { var that = this; wx.onBluetoothDeviceFound(function (res) { console.log('new device list has founded'); if (res.devices[0]) { var name = res.devices[0]['name']; if (name.indexOf('FeiZhi') != -1) { var deviceId = res.devices[0]['deviceId']; console.log(deviceId); that.deviceId = deviceId; if (!that.isConnecting) { that.startConnectDevices(); } } } }) }
説明:
1. 検出された Bluetooth デバイスは、name 属性に基づいてここでフィルタリングされます。
2. 接続する必要があるデバイスの name 属性を含むデバイスがフィルタリングされ、deviceId が取得されると、startConnectDevices() メソッドが呼び出されて接続が開始されます。
startConnectDevices コード:
startConnectDevices: function (ltype, array) { var that = this; clearTimeout(this.getConnectedTimer); clearTimeout(this.startDiscoveryTimer); this.getConnectedTimer = null; this.startDiscoveryTimer = null; this.isConnectinng = true; wx.showLoading({ title: '正在连接' }); that.stopBluetoothDevicesDiscovery(); wx.createBLEConnection({ deviceId: that.deviceId, success: function (res) { console.log('连接成功', res); wx.showLoading({ title: '正在连接' }); that.connectedDevice.state = true; that.connectedDevice.deviceId = that.deviceId; if (res.errCode == 0) { setTimeout(function () { that.getService(that.deviceId); }, 5000) } wx.onBLEConnectionStateChange(function (res) { console.log('连接变化', res); that.connectedDevice.state = res.connected; that.connectedDevice.deviceId = res.deviceId; if (!res.connected) { that.init('200'); } }); }, fail: function (err) { console.log('连接失败:', err); wx.hideLoading(); if (ltype == 'loop') { array = array.splice(0, 1); console.log(array); that.loopConnect(array); } else { if (that.isAndroidPlatform) { that.startBluetoothDevicesDiscovery(); } else { that.getConnectedBluetoothDevices(488); } } }, complete: function () { that.isConnectinng = false; } }); }
説明:
1. 接続を開いた後、スキャン (ペアリング) メソッドを終了します。
2. deviceId に基づいて低電力 Bluetooth 接続を作成します。接続が成功した場合は、後続の読み取りおよび書き込み操作を続行します。
3. 接続が失敗した場合は、デバイス システムに応じて startBluetoothDevicesDiscovery() または getConnectedBluetoothDevices() を呼び出します。
getConnectedBluetoothDevices コード:
getConnectedBluetoothDevices: function (n) { var that = this; that.isGettingConnected = true; wx.showLoading({ title: '蓝牙搜索中' }); wx.getConnectedBluetoothDevices({ services: [that.serviceId], success: function (res) { console.log("获取处于连接状态的设备", res); var devices = res['devices'], flag = false, index = 0, conDevList = []; devices.forEach(function (value, index, array) { if (value['name'].indexOf('FeiZhi') != -1) { // 如果存在包含FeiZhi字段的设备 flag = true; index += 1; conDevList.push(value['deviceId']); that.deviceId = value['deviceId']; } }); if (flag) { that.connectDeviceIndex = 0; that.loopConnect(conDevList); } else { that.failToGetConnected(); } }, fail: function (err) { that.failToGetConnected(); }, complete: function () { that.isGettingConnected = false; } }); }
注: Bluetooth ペアリングされた Bluetooth デバイスの取得に失敗した場合は、または取得されたリストはエアコンのfailToGetConnected();
failToGetConnected コード:
failToGetConnected: function () { var that = this; if (!that.getConnectedTimer) { clearTimeout(that.getConnectedTimer); that.getConnectedTimer = null; } that.getConnectedTimer = setTimeout(function () { wx.getBluetoothAdapterState({ success: function (res) { console.log(res); var available = res.available; if (!available) { wx.showLoading({ title: '请开蓝牙', icon: 'loading', duration: 2000 }) } else { if (!that.connectedDevice['state']) { that.getConnectedBluetoothDevices(); } } }, fail: function (err) { console.log(err); } }) }, 5000); }
説明: メソッドが正常に呼び出された後に返されるデバイスは、複数の Bluetooth デバイスを含む配列です。システムによってペアリングされています。
2. デバイスリストを取得したら、loopConnect()メソッドを呼び出してBluetoothデバイスの再帰呼び出しを開始します。
ループ接続コード:
loopConnect: function (array) { var that = this; var listLen = array.length; if (array[0]) { that.deviceId = array[0]; if (!that.isConnecting) { that.startConnectDevices('loop', array); } } else { console.log('已配对的设备小程序蓝牙连接失败'); if (!that.isAndroidPlatform) { that.getConnectedBluetoothDevices(431); } } }
注: 接続作成メソッドが失敗すると、looConnect は配列の最初の値を削除し、すべてのデバイスが接続されるまでこのメソッドを呼び出し続けます。
ほとんど見逃していました: app.js の onShow で init() メソッドを呼び出します。
特別な指示:
1. 現在のバージョンでは、Android と IOS での Bluetooth 接続には異なる方法が推奨されます。 Android デバイスは、アプレットの Bluetooth 接続を直接使用して、システムのペアリングをキャンセルします。 IOS デバイスは、システムをペアリングしてミニ プログラムを開いた後、数秒以内に正常に接続できます。
2. このバージョンの接続はまだ改善の必要があります。接続は自動的に終了せず、成功するまで無限にスキャンと再接続を行います。
3. リンク成功後の操作は、データの書き込みと通知のオンを同時に行う必要がある場合、最初に書き込みを行ってから通知をオンにすることをお勧めします。 (理由は不明です。そうでない場合は 10008 エラーが発生します)。
上記がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項:
WeChat ミニ プログラムのショッピング カートの簡単な例
WeChat ミニ プログラムが Meituan メニューを実装する方法
以上がWeChat アプレットの Bluetooth リンクの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











一般的に、同時に使用する必要があるのはヘッドフォンまたはスピーカーのいずれか 1 つだけですが、Win11 システムでヘッドフォンとスピーカーが同時に鳴るという問題が発生したと友人が報告しています。 Realtek パネルでオフにすれば問題ありません。以下を見てみましょう。 win11 でヘッドフォンとスピーカーが一緒に聞こえる場合はどうすればよいですか? 1. まず、デスクトップで「コントロール パネル」を見つけて開きます。 2. コントロール パネルに入り、「ハードウェアとサウンド」を見つけて開きます。 3. 次に、「」を見つけます。 Realtek High Definition" とスピーカーのアイコン。オーディオマネージャー" 4. [スピーカー] を選択し、[リアパネル] をクリックしてスピーカー設定に入ります。 5. 開くとデバイスの種類が表示されるので、ヘッドフォンをオフにしたい場合は、「ヘッドフォン」のチェックを外します。

1. 画面の下部を上にスワイプすると、以下に示すようにコントロール センターが表示され、Bluetooth スイッチをクリックして Bluetooth をオンにします。 2. ペアリングされた他の Bluetooth デバイスに接続するか、[Bluetooth デバイスの検索] をクリックして新しい Bluetooth デバイスに接続できます。他の友達に携帯電話を検索して Bluetooth に接続してもらいたい場合は、[検出] をオンにすることを忘れないでください。方法 2. 1. 携帯電話のデスクトップに入り、設定を見つけて開きます。 2. [設定] ディレクトリをプルダウンして [詳細設定] を見つけ、クリックして入力します 3. [Bluetooth] をクリックして開き、Bluetooth スイッチをオンにして Bluetooth をオンにします。

Xianyu の公式 WeChat ミニ プログラムが静かに開始されました。ミニ プログラムでは、プライベート メッセージを投稿して購入者/販売者とコミュニケーションしたり、個人情報や注文を表示したり、商品を検索したりすることができます。プログラム、見てみましょう。 Xianyu WeChat アプレットの名前は何ですか? 回答: Xianyu、アイドル取引、中古品販売、評価、リサイクル。 1. ミニ プログラムでは、アイドル メッセージの投稿、プライベート メッセージを介した購入者/販売者とのコミュニケーション、個人情報と注文の表示、指定された商品の検索などができます。 2. ミニ プログラム ページには、ホームページ、近くに、アイドル投稿、メッセージ投稿、私の投稿 5つの機能; 3. 使用したい場合は、購入する前に WeChat 支払いを有効にする必要があります。

win11 システムのデバイス マネージャーに Bluetooth モジュールがない Windows 11 システムを使用しているとき、デバイス マネージャーに Bluetooth モジュールがない状況に遭遇することがあります。 Bluetooth テクノロジーは現代社会では非常に一般的になり、ワイヤレス デバイスの接続に頻繁に Bluetooth テクノロジーを使用する必要があるため、これは日常使用に不便をもたらす可能性があります。デバイス マネージャーで Bluetooth モジュールが見つからない場合でも、心配しないでください。考えられる解決策は次のとおりです。 1. ハードウェア接続を確認します。まず、コンピューターまたはラップトップに Bluetooth モジュールが実際に搭載されていることを確認します。一部のデバイスには Bluetooth 機能が組み込まれていない場合があります。その場合、接続するには外部 Bluetooth アダプターを購入する必要があります。 2. ドライバーを更新します。デバイス マネージャーに Bluetooth モジュールがない理由はドライバーにある場合があります。

「ハリー・ポッター: 魔法の覚醒」には最近、呪文交換機能が追加されました。プレイヤーは呪文を交換するために Bluetooth または WiFi を使用する必要があります。一部のプレイヤーは Bluetooth 交換を使用できないことに気づきました。では、Bluetooth を使用して呪文を交換するにはどうすればよいですか? ?次に、編集者が Bluetooth を使用してハリー ポッターの呪文を交換できない問題の解決策を紹介します。 Bluetooth を使用しないハリー ポッターの呪文交換の解決策 1. まず、プレイヤーはライブラリで呪文交換を見つける必要があります。その後、Bluetooth または WiFi を使用して交換できます。 2. [Bluetooth を使用する] をクリックすると、新しいインストール パッケージをダウンロードする必要があるというメッセージが表示されますが、このパッケージは以前にダウンロードされているため、一部のプレーヤーは混乱します。 3. 実際、プレーヤーはストアにアクセスして新しいインストール パッケージをダウンロードできます。iOS の場合は Apple ストアにアクセスして更新でき、Android の場合はダウンロードできます。

携帯電話を購入するとき、携帯電話のパラメータに Bluetooth サポート オプションがあることがわかります。購入した Bluetooth ヘッドセットが携帯電話と一致しない状況に遭遇することがあります。したがって、Bluetooth 5.3 をサポートする必要がありますか?携帯電話? 実際には必要ありません。 Bluetooth 5.3 には携帯電話のサポートが必要ですか? 回答: Bluetooth 5.3 には携帯電話のサポートが必要です。ただし、Bluetooth をサポートする携帯電話であれば使用できます。 1. Bluetooth には下位互換性がありますが、対応するバージョンを使用するには携帯電話のサポートが必要です。 2. たとえば、Bluetooth 5.3 を使用するワイヤレス Bluetooth ヘッドセットを購入するとします。 3. 携帯電話が Bluetooth 5.0 のみをサポートしている場合は、接続時に Bluetooth 5.0 が使用されます 4. したがって、この携帯電話を使用してヘッドフォンを接続して音楽を聴くことはできますが、速度は Bluetooth ほど良くありません。

Win11 システムで Bluetooth が使用できない場合はどうすればよいですか? Win11 システムのリリースに伴い、多くのユーザーがコンピューターをアップグレードするのが待ちきれません。ただし、一部のユーザーは、アップグレード後に Bluetooth が機能しないという一般的な問題に遭遇しました。これは、Bluetooth デバイスに依存している人にとってはイライラする問題です。幸いなことに、この問題の解決に役立つ簡単な解決策がいくつかあります。まず、コンピュータを再起動してみてください。システムを再起動するだけで、Bluetooth が機能しないなどの問題が解決される場合があります。再起動後、Bluetooth が正常に動作しているか確認してください。再起動しても問題が解決しない場合は、Bluetooth ドライバーを更新してみてください。場合によっては、古いドライバーまたは破損したドライバーが原因で、

2月21日のニュースによると、Samsungは本日、OneUI6.1以降にアップグレードされたGalaxy S23シリーズ、ZFold5、ZFlip5携帯電話、およびGalaxy Tab S9シリーズのタブレットにBluetooth Auracastオーディオブロードキャスト機能を導入すると発表しました。サムスンは昨年から、Galaxy Buds 2 ProヘッドセットやSamsungスマートTVでBluetooth Auracastオーディオブロードキャスト機能のサポートを順次追加しており、OneUI6.1を搭載したGalaxy S24シリーズの携帯電話でもサポートを追加している。 OneUI6.1 にアップグレードできる Samsung デバイスの場合は、[設定] > [Bluetooth] > [三点メニュー] > [Auracast を使用してサウンドをブロードキャストする] を開くことができます。
