2013年7月26日金曜日

Referenceから見るAndroid 4.3 NFC関連



Android 4.3出ましたね
さっそくReferenceを見て、NFC関連で新しいものが増えてないか確認してみました。
増えていたのはこの6つだけ。


これらはNFCのOn/Offが変更された時のBroadcastIntentで使われている定数で、今までは@hideだったものが公開されただけです。

せっかくだから使い方を見てみましょう

使い方


といっても、この定数を使ったBroadcastの受信は設定画面でNFCの有効/無効を切り替える部分で使われており、その部分のソースを見るのがわかりやすいと思います。

NfcEnabler

Broadcastから取得できる値はこんな意味です。
まあ、名前からだいたいわかると思いますが。。。
取得できる定数名意味
STATE_OFFNFCが無効になった
STATE_ONNFCが有効になった
STATE_TURNING_OFFNFCを無効にしている
STATE_TURNING_ONNFCを有効にしている

補足

ちなみに、今回公開されたのはただの定数です。Broadcast自体はずっと使われていますので、古いOSバージョンでも定数の中の値を使用すればこのBroadcastは受信可能です。

現状ではNFCを有効にするAPIが隠されているため、画面切り替えをせずNFCの状態を切り替える方法がほとんどありません(一部の端末ではNotificationから切り替えられるようですが)。この状況では、onStartでNfcAdapter#isEnableを使用すれば十分かなーと僕は思っています。
どうせならNfcAdapter#Enableとセットで公開すればよかったのになー
あと、個人的にはBeam用の設定にもこういうの欲しい