個人的なandroid開発中に、カメラの起動中にNFCの処理を挟もうとしたのだが、正しく処理できる場合とできない場合が存在した…
androidのバージョンが11以降だとNFCの処理ががらりと変わるので、それが原因かと考えていましたが、機種によってカメラ起動中にNFCが取得できる・できないが別れていました。
今回は、その時に試行錯誤したことをまとめます。
試したこと
NFCの処理はandroid11以降でがらりと変わるため、それが原因だと考え複数のバージョンで実験を行いました。その結果、android11以降でも動くスマホと動かないスマホが存在しました。なので、次は機種に注目して機種シリーズごとに実験を行いました。
その結果…中華スマホシリーズがカメラ起動中にNFCを取得することが判明しました。逆にXperiaやGalaxyシリーズなどはカメラ起動中にNFC処理が実行できませんでした…
NFC処理調査のまとめ
基本カメラ処理中にはNFC処理ができないようになっているっぽいです。
ただ、今回の私のようにどうしてもカメラ処理とNFCを同時に処理したい場合は、画面をタップした間はカメラ処理を中断するようにするなどする必要がありそうです。
カメラ起動中にNFCが反応しない理由は、カメラにリソースを集中するがゆえにNFCの機能自体に制限がかけられている…っぽいですかね?
(当たり前と言えばそうだが、最初は全然考えもしていなかった…😥)
中華スマホはそこらへんがガバガバな可能性があるんですかね。なのでカメラ処理とNFCを両立して行うことができました。
android機種はものによってさまざまな特徴があるといわれてはいましたが、まさかこのような別れ方もするとは思っていなかったです。
カメラとNFCを両立したいと考える人は極少ないと思いますが、参考になれば幸いです。
コメント