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 Slide

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

    View Slide

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

    View Slide

  4. View Slide

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

    View Slide

  6. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide