Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Android端末のNFCを無効化しようとしてダメだった話

 Android端末のNFCを無効化しようとしてダメだった話

Mobile勉強会 Wantedly × チームラボ #8 での登壇
https://teamlab.connpass.com/event/274800/

みっちゃん

March 14, 2023
Tweet

More Decks by みっちゃん

Other Decks in Programming

Transcript

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide