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