お仕事用に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 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。