AndroidでiBeaconを送信する方法
Androidでは現在iBeacon (というかPXPですね) を受信は可能なものの送信できませんが、4.4.3AOSPには送信APIのコードがマージされておりしかし隠されているので、それを有効化してビルドすれば使えるよ、と言う話。(まぁ待っていればそのうちAndroid自身のリリースで有効化されると思いますが)
- TadashiOkoshi
- 8025
- 0
- 0
- 0
Tadashi Okoshi
@TadashiOkoshi
Androidは4.3以降BluetoothLEのサポートを入れてるんだけれど、4.3では”peripheral”モードになれないのでiBeaconでビーコンをアドバタイズする送信側にはなれない。
2014-07-24 05:07:53
Tadashi Okoshi
@TadashiOkoshi
しかしperipheralモードになるためのコードはすでに実装されていて、4.4.3 AOSPにはマージされている。ただ @hide 属性がつけられているので一般アプリからは隠されておりそのままでは使用できない。
2014-07-24 05:09:21
Tadashi Okoshi
@TadashiOkoshi
AOSP 4.4.3のソースを取ってきて、BluetoothAdapter.java (startAdvertising(), stopAdvertising()あたり) とBluetoothAdvScanData の@hideを除去して ビルドすればそれらAPIを使えるように。
2014-07-24 05:12:13
Tadashi Okoshi
@TadashiOkoshi
ソース編集したらmake update-apiした上で、SDKとターゲットデバイス向けのROMをビルドすれば、開発できるようになる。
2014-07-24 05:13:12
Tadashi Okoshi
@TadashiOkoshi
とかいう、学部生プロジェクトの裏側をちょっと書いてみたけれど、AndroidでiBeacon送受信しているひとはまだ世の中にそうはいないんじゃないかなw
2014-07-24 05:14:17
Tadashi Okoshi
@TadashiOkoshi
参考(1): ここにほぼ全てのノウハウが書かれていたが今は削除されてしまった。 developer.radiusnetworks.com/2014/06/24/mak…
2014-07-24 05:15:18
Tadashi Okoshi
@TadashiOkoshi
参考(2): bluetooth - Can an Android device act as an iBeacon? - Stack Overflow bit.ly/1nh2pmQ
2014-07-24 05:15:59
Tadashi Okoshi
@TadashiOkoshi
参考(3): ios - What is the iBeacon Bluetooth Profile - Stack Overflow bit.ly/1qACDgx
2014-07-24 05:16:37