Slide 1

Slide 1 text

Android端末のNFCを無効化しようとして ダメだった話 登壇者:みっちゃん

Slide 2

Slide 2 text

自己紹介 名前:みっちゃん 会社:STORES inc.(22卒) 役職:Androidエンジニア Twitter Qiita

Slide 3

Slide 3 text

どうしてAndroidでNFCを無効化したかったのか STORES 決済 というアプリの開発に日々取り組んでおります どういうアプリ? お店の決済を支えるアプリ お店のオーナーさんのスマホにインストールして頂き、 決済端末(カードリーダー)とBluetoothで連携しています!

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

これでは、お商売になりません!!

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

iOSではPassKitを使っている https://developer.apple.com/documentation/passkit/pkpasslibrary/1617078-requestautomaticpasspresentation

Slide 8

Slide 8 text

AndroidでもNFCをオフにするAPIはないの? NfcAdapterというAPIを発見! 端末のNFCに関してあれこれさせてくれそうな気配... しかし! ドキュメントを読んでも、AndroidのNFC設定をoffにさせてくれそうなメソッドは特に生え ていない。

Slide 9

Slide 9 text

これは、Adapterという名前からも予想できる通り、端末のNFCリーダライター機能を使う ためのAPIのよう 端末のNFCリーダライター機能を使うためのAPIのよう

Slide 10

Slide 10 text

ドキュメントを読もう!!! てか、ドキュメントを読みましょう。 やはりドキュメントなのです。 NFC Basics

Slide 11

Slide 11 text

みんなはどうしているんだ Stack Overflowで同様のお悩みを見つけました。 Android: Changing NFC settings (on/off) programmatically

Slide 12

Slide 12 text

最終的な調査結果 Android端末のNFC無効化に対してわかったこと ● 内部的に無効化するのはおそらく不可能 代替案 ● アプリから内部的にスマホの設定画面に遷移し、ユーザー自身の手によって NFCの設定をオフにし てもらう ● 「Android端末をお使いのオーナーさんは、スマホの設定画面から NFC機能をオフにするようお願い します」的なコミュニケーションをとることで回避

Slide 13

Slide 13 text

最後に Android端末のNFCを内部的にOFFにする方法がわかった/知っているという方がいれ ば是非知見を共有いただきたいです ありがとうございました!!