問題タブ [ibeacon-android]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android - iBeacons didRangeBeaconsInRegion
インターフェイス RangeNotifier によって指定されたコレクションが、iOS のように配列の先頭にある最も近いビーコンで、デバイスからのおおよその距離で並べ替えられているかどうかは誰にもわかりませんか?
didRangeBeaconsInRegion(java.util.Collection iBeacons, Region region)
ありがとう
ibeacon-android - RadiusNetwork Android ライブラリと IBeaconReference が機能しない
こんにちは、IbeaconReference を試しましたが、編集テキストにメッセージが表示されません。
log cat に表示されるのは次のとおりです。
メソッド didRangeBeaconsInRegion は呼び出されません。何か案が?
さらに、これをマニフェストに追加して、マニフェストでサービスを起動しました。
android:name="com.radiusnetworks.ibeacon.service.IBeaconService"
これは正しいです?
android - RadiusNetworks ライブラリの iBeacon バックグラウンド スキャン PRO 機能?
RadiusNetworks API を使用して iBeacons を操作しています。
私はこのライブラリを利用しましたが、問題なく動作しますが、アプリケーションでバックグラウンド スキャンが行われないのはなぜですか? 私は何が欠けていますか?
これまでの実装は次のとおりです。ビーコン側に関連するコードのみを保持しましたが、アクティビティをバックグラウンドに設定するとスキャンが完全に停止します...
android - Radius Networks の ibeacon 範囲の変動
私は iBeacon にはかなり慣れていませんが、iBeacon を使用して情報と動作する Android アプリケーションを取得するために 1 日を費やしました。
Android iBeacon Library のサンプルを偶然見つけて試してみました。私は最新のaarファイル(0.7.3)を使用し、基本的にそれらの例を新しいプロジェクトにコピーして貼り付けました。AirLocate (Dev Center の Apple のコードからコンパイル) を備えた iPad を使用してビーコンを作成し、コードを起動しました。
私の問題は、ロジックなしで常に変動する範囲です。たとえば、iPad から 0.5 メートル離れた場所に電話 (この場合は Nexus 5、オリジナルの ROM、変更なし) を配置すると、次のような対策が得られます。
- 0.01m
- 0.03m
- 0.07m
- 0.48m
- 0.01m
- 0.02m
等
AirLocate を搭載した別の iPad を使用すると、より安定した現実的な測定値が得られます。問題の原因としてビーコンを除外します。
Nexus 7 2013 (元の ROM、変更なし) でテストを行いましたが、同じ問題が発生しました。wifiが問題を引き起こす可能性があることを読んだので、無効にしましたが、それでも同じです。PlayストアのRadius Networksアプリケーションにも同じ問題があります:iBeacon Locate
他の誰かがこのライブラリに問題があるかどうか疑問に思っていましたか? この問題を解決するためにできることはありますか? そのような問題を引き起こさない、私が使用できる別のライブラリを知っていますか?
どんな助けでも大歓迎です。前もって感謝します。
android - android-ibeacon-service でビーコンを反復処理するにはどうすればよいですか?
iBeacon を検出して使用するために、ビーコン測距方式を使用しています。ただし、見つかったすべてのビーコンを反復しようとしているときに問題が発生しました。
ビーコン サービスはコレクションを返します。このコレクションのサイズを確認すると、3 つのビーコンがあることがわかります。ただし、何を試しても、ビーコンを確実に反復処理できます。ビーコンのランダムな順序は毎回異なるようで、一部は頻繁にスキップされます。
試してみwhile(iBeacons.iterator().hasNext())
ましたが、アプリがフリーズしました。解析した lastBeacon を選択した現在のビーコンと比較して破棄しようとしましたが、これはすべてのビーコンを通過するのにうまくいきませんでした。
コレクションは非同期に更新されており、古いビーコンを処理する機会を得る前に新しいビーコンが追加されるよりも解析に時間がかかるため、毎回コレクションから 1 つをランダムに処理しているようです。
毎回各ビーコンを取得して解析するにはどうすればよいですか?
java - Android BLE BluetoothAdapter.LeScanCallback scanRecord の長さのあいまいさ
Google のサンプル プロジェクト ( BluetoothLeGatt ) を使用して BLE デバイスからデータを受信し、 onLeScanメソッドで取得した scanRecord 内の特定のバイトを読み取ろうとしています。
私の問題は、ネットワークで観察しているデータとログに表示されるデータとの間に不一致があることです。
これは Android 4.3 上で、Samsung Galaxy S4 を使用してテストしています。Android で scanRecord ログが正しいことを確認するために、TI の Packet Sniffer を使用して、デバイスによってブロードキャストされているバイト ストリームを観察しています。
つまり、31 バイトのデータがデバイスによってネットワークにブロードキャストされており、周囲に他の動作中のデバイスはありません。
02 01 1A 1A FF 4C 00 02 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0C C6 64
一方、Android ログは、受信されたデータの長さが 62 バイトであり、29 番目の [0-indexed] バイトまでデータと一致し、残りのデータは 0 であると主張しています。
02-12 15:34:09.548: D/DEBUG(26801): len: 62 data:02011a1aff4c000215000000000000000000000000000000000000000cc60000000000000000000000000000000000000000000000000000000000000000
これは、LeScanCallbackメソッド内でログを取得するために使用したコードです。
バイト配列を 16 進数表現に変換するために使用されるメソッド:
Dave Smith の例や RadiusNetworks のAndroid iBeacon Libraryなど、他のサンプル プロジェクトをいくつか使用しましたが、結果は同じでした。「Packet Sniffer」が 31 バイトであることを示している (そして私も知っている) のに、なぜ 62 バイトのデータを受信するのか理解できません。最後のバイトのデータを正しく読み取ることができれば、これは私の主な関心事ではありません ( Android の BluetoothAdapter から64ではなく00を取得します)。しかし、そうではありません。
データ (最後のバイトのみ) と、Android が受信するものと実際にネットワーク上にあるものとの間のデータ サイズの両方について、このミスマッチの潜在的な理由について何か提案をいただければ幸いです。