7

Android用のBLEBluetooth(SMART)アプリケーションを開発しようとしています。

Broadcom BLE SDKをダウンロードし、Webサイトで説明されているようにAndroid SDK Managerを介してインストールし、プロジェクトの例をダウンロードすることができました。

例の1つをテスト用の電話(HTC One S、HTC OneXの両方にBluetoothBLE機能付き)にプッシュしようとすると、次の問題が発生します。

INSTALL_FAILED_MISSING_SHARED_LIBRARY

AndroidManifest.xmlファイルに記述されているbroadcomライブラリを含める可能性はありますか? <uses-library android:name="com.broadcom.bt.le" android:required="true"/>

誰かがbroadcomプロジェクトの例をテストすることができましたか?そして、どの電話で?

この投稿によると、Samsung Galaxy S3でバグが発見されましたが、HTC製品に関する情報は見つかりませんでした。


更新:なんて素晴らしいニュース!!!

最新のAndroidバージョン4.3(Jelly Bean)は、低エネルギーのBluetoothSmartアクセサリをサポートするようになりました。

http://www.android.com/about/jelly-bean/

https://developer.bluetooth.org/Pages/Bluetooth-Android-Developers.aspx

すべての電話にアップデートがあるかどうかはわかりませんが(たとえば、最後のHTC One M7でさえ)、次の電話には確かにこのメジャーリリースが組み込まれます。

4

8 に答える 8

11

問題は、電話に .so ファイルがインストールされていない場合、これは役に立たないことです。

また、Broadcom がデバイスを承認した場合にのみ、(この記事の執筆時点で) デバイスに .so ファイルが含まれます。

たとえば、かなり新しい Samsung Galaxy Nexus の最新の公式ビルド (4.0.4) にはありません。

知らない人のために説明すると、LOW-ENERGY Bluetooth (BtLE、現在は明らかに BT Smart と呼ばれています) には 2 つの異なる (互換性のない) API があります。1 つは Broadcom からのもので、もう 1 つは Motorola からのものです。当然のことながら、それぞれがそのベンダーのチップを搭載した電話でのみ動作します。

これは恐ろしい、恐ろしい状況であり、Google は本当に解決策を講じる必要があります。そうしないと、Android は HEALTHCARE として知られる小さな業界ではまったく役に立たなくなります!!!!!

于 2012-07-09T19:49:06.547 に答える
6

HTC OneXおよびOneSは、BroadcomではなくQualcommBluetoothチップを使用しています。したがって、BroadcomSDKは機能しないと予想されます。HTC One X +、Droid DNA、およびHTCOneで動作するHTCBLE SDKがあり、HTC BLE SDKにサインアップできます:
http ://www.htcdev.com/devcenter/opensense-sdk/partner- apis / bluetooth-low-energy /

于 2012-07-22T13:54:26.953 に答える
3

BroadCom BLE スタックがHTC 1X+で動作し、標準のTI KeyFob Demoと連携することを確認します。

私はばかげた投稿をしているように見えますが、少なくとも小さな成功の明確な声明によって、誰かが続けるように励まされるのではないかと思いました.

BleFindMeClientは、TI ディストリビューションのKeyFobDemoとも呼ばれる TI CC2540-mini Keyfob と組み合わせて、 HTC 1X+で実際に動作します。

私は Android アプリや TI キーフォブのコードを書いたことがないので、すべてのツールがどのように機能し、どのように設定するかを理解するのにイライラするほど長い時間がかかりましたが、本当の魔法はありませんでした。私にとって、他の Android デモのいくつかは、コードを微調整しないとゲートをコンパイルできませんが、それは私の経験不足によるものかもしれません。

http://youtu.be/cqWpjU7gJ2Q

getDeviceType ()に関する他の問題については、HTC 1x+ で毎回完全に動作するコード フラグメントを次に示します。これも役立つことを願っています。

BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
if ( BleAdapter.getDeviceType(device) == BleAdapter.DEVICE_TYPE_BLE ) {
    ...
}
于 2013-03-28T17:28:38.327 に答える
2

誰かがここで解決策を見つけます。

実行する 3 つの手順は次のとおりです。

  1. マニフェスト ファイルに含めないでください。

  2. プロジェクトPropertiesJava Build PathLibrariesAdd external jarで、broadcom ble jar を追加します。

  3. プロジェクトPropertiesJava Build PathOrder and Exportで、ステップ 2 で含まれている jar を確認します。

最後に、Broadcom サンプル プロジェクトが実行されますが、HTC に実装されていない未知の仮想メソッドが原因で、数秒後にクラッシュします ( .getDeviceType(), ...)!

于 2012-07-05T06:40:19.657 に答える
1

このSDKに依存してアプリを作成している人がいる場合、私が伝えたい1行があります

DeviceDiscoveryでは、Android JBコードベース全体のどこにも定義されていないメソッドgetDeviceTypeを呼び出すため、そこでのみクラッシュします。したがって、クラッシュを取り除くために一生懸命努力している場合は、デバイスの検出イベントでクラッシュしている場合はそれを実行できないことに注意してください。

于 2013-02-27T12:33:58.687 に答える
1

HTC フォンにも何かが欠けているようです。このエラーは、BLE ハードウェアと API の間にソフトウェア層が欠落している (または誤動作している) 可能性があることを意味します。今日に関しては、Motorola Razr で動作する BLE の種類しか見たことがありませんが、心拍数プロファイルに限定されているようです (また、Broadcom API を使用していません)。

于 2012-07-03T15:15:47.323 に答える
0

明確にするために、これらの現在利用可能なHTCデバイスから始めて、BLEサポートを見つけることができます:HTC One X +、HTC Droid DNA、そしてもちろんHTCOneと今後のフラッグシップデバイス。4.3以降では、標準の公式Android BLE APIを使用するように移行する必要があります。4.3より前のデバイスをサポートするには、HTCBLEAPIを使用できます。両方のAPIをサポートする詳細とサンプルコードについては、 https://www.htcdev.com/devcenter/opensense-sdk/bluetooth-smartを参照してください。

于 2012-12-28T08:05:16.290 に答える