2017/01/24

[nfc]HCEサンプルを久々に動かす

お仕事用にNFCタグを作っていたのだが、そういえばAndroidにはHCEがあったことを思い出した。
HCE...Host Card Emulation。
モバイルFeliCaチップやPN544のようにチップがカードエミュレーションするのではなく、ソフトウェアが制御するカードエミュレーションだ。

 

3年くらい前に作ったものがあった。
hiro99ma blog: [nfc]HCEのサンプルを作った
SDK19だったらしい。
まだAndroid Studioではなかったのでimportして、SDKを22くらいに変更(最新すぎない程度に新しくした)。
PC/SCも少しやったので、当時よりは内容を理解できるかもしれんが、まずは動かそう。

。。。動かん。
そもそも、ActivityがないServiceだけのアプリだから、動いていてもいなくても、よくわからん。
当時はFeliCaランチャーを使ったようだけど、どうせなら普通のR/Wで読込ませたいではないか。

 

そうだ、こういうときにPN7150を使えばよいのだ!
nfcDemoApp pollを起動して、かざすと・・・

Found

Type :          'Type A'
NFCID1 :        '08 20 79 C5 '
Record Found :
                NDEF Content Max size :         '48 bytes'
                NDEF Actual Content size :      '27 bytes'
                ReadOnly :                      'FALSE'
                Type :                          'URI'
                URI :                           'http://hiro99ma.blogspot.com/'

ふん、動いているじゃあないか。

そして、うまく動いてくれなかったWindows10 + RC-S380や、Nexus7のNXP Tag Infoアプリでも読めるようになった。
なんだったんだ。。。

うっとうしいことに、Nexus7にかざすと、Nexus5(HCEアプリはNexus5で動かしていた)の方にAndroid Payの画面が立ち上がってしまう。
対応するクレジットカードを持っていないので、出てきても困るし、そもそもそんなの期待していない。

まあ、動くには動いたので、Android Studio + SDK22版をコミットしておこう。
ランチャーがないので、設定アプリから削除するなりアンインストールするなりになります。
hirokuma/HceSample at 6419f2ad21e4654f7b084e64744eb2b2fc7fc521


GoogleのHCEサンプルを動かしてみたのだが、こっちはSNEPというか、Android Beamっぽく動いてしまう。
googlesamples/android-CardEmulation

 

うーん、便利にしようとしすぎて、よくわからない動きになってしまっている気がしている。
かといって、iOSみたいに何もできないのも困るので、もうちょっと自由度がありつつ、抑えもきかせたいという。。。
もう、専用のハードボタンがあってもよいんじゃないかとすら思ってしまう。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。