1
0
テーマ、知りたいこと
Googleにより廃止が決定したメソッドを使用するとどうなるのか知りたい。
背景、状況
現在作っているAndroidアプリでWifiManagerのstartScanメソッドを使用したいと思っています。
しかし、startScanメソッドは今後廃止される予定です。
廃止された場合にそのstartScanメソッドを使用するとどうなるのでしょうか?
おそらく最新のAndroidでのみエラーが発生してアプリが落ちたり固まったりすると予想しているのですが違うでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答6件
#1
総合スコア28673
投稿2023/03/21 00:22
廃止されるのであれば、そもそもそれを使用したアプリが起動できなかったり審査に通らなかったりすることもあります。
質問では「最新の」と限定されていますが、過去の OS でもセキュリティアップデートによって使えなくなる可能性は無くはないです。
使ってはいけないものを使ったらどうなるかというのはあまり考える必要はなくて、改修できるものであれば改修すべきです。
#4
総合スコア13318
投稿2023/03/21 03:51
編集2023/03/21 03:52どうなるかは明言されていなかったと思います。なので予想した所で意味はありません。
要は、公式には無いことにするからそれでも使うならサポートは自分でやってね…でしょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#5
総合スコア358
投稿2023/03/24 07:57
※意見交換タグがついていますし、私はそっち系の専門家ではないので雑談半分で読んで下さい。
とりあえず公式ドキュメントには以下の記述があります。
https://developer.android.com/guide/topics/connectivity/wifi-scan?hl=ja
Android8.0(APIレベル26)では、権限と許可されるWi-Fiスキャンの
頻度に関する制限が導入されました。
ネットワークパフォーマンス、セキュリティ、電池寿命を改善するため、
Android9(APIレベル28)では権限に関する要件を厳格にし、
Wi-Fiスキャンの頻度をさらに制限しました。
Android9:
各フォアグラウンドアプリは、2分間の間に4回スキャンを実行できます。
これにより、短時間で大量のスキャンを行うことができます。
Android10以降:
Android9と同じスロットリング制限が適用されます。
たぶん昔どこかのアホな子が100ミリ秒に1回スキャンループみたいなのを
実装して、無意味に凄い勢いで電池がなくなったりスマホで目玉焼きを
焼いたりしたりしたのでしょう。
ある意味、現状はアプリ側で細かいフールプルーフを実装しなくても
OSレベルで実装されているので、助かるんじゃないでしょうか。
Android的には「2分で4回スキャン」を「短時間で大量」と思っている
らしいので、今後これより増えることはないでしょう。
(んなアホなことあるかいな?と思って英語表示にしてみましたが
「This allows for a burst of scans in a short time.」と書いて
ありました。burstっていうくらいなら1秒間に16回くらい押させてほしい。)
まあ実際問題、その端末が使用できる周波数ぜんぶ順番にスキャンする
のって、そこそこ時間かかりそうですよね。(とだけ書いて終わろうと
思ったのですが、一応ついでに調べてみましたがよくわかりませんでした。)
自分で試していないのでイマドキの機種でどうなのかはわかりませんが、
2011年の記事では、802.11b/gで「全チャンネルの(パッシブ)スキャンには
1.5ms-数ms程度かかってしまう」と書いてありました。(pdfファイル)
https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_uri&item_id=73015&file_id=1&file_no=1
私はそっちの業界の人ではないので、ここ10年程度で何か劇的に仕組み
レベルで改善されているのかもしれませんがとりあえず知らないので
上記の延長でお話をすると、現状ではさらに5GHz帯が実装されていて、
今後使用できる周波数帯が増えていくので、全チャンネルスキャンに
かかる時間は増加するでしょう。これはアクセスポイント側のビーコンが
100msec間隔というあたりに律速されるはずなので、端末のCPUが高速化
しても改善しないと思います。(もっというとビーコン間隔を詰めると
電波の使用効率が悪くなるので、こちらも改善(?)されるとは考えにくい
です。あ、でも端末にたくさんアンテナとチップ乗せたら並列稼働
できるのかな。)
ちなみにAndroid9でstartScanの実験をしている方がおられましたので
引用しておきます。
https://ymgsapo.com/2022/12/19/androidwifi-scan/
Android9以降でフォアグラウンドアプリの場合、2分間で4回までの
スキャンが許されている。
試しに5回目のスキャンをしてみたら、scanFailureが呼び出された。
「スキャン連打できるUI用意したけどどうせ内部で無効にされてるので
ほとんど意味ない」と「連打するUIがなくて不満」の二択ですかね…。
(あれ?前者の方がマシなのでは…。)
というわけで、非推奨のメソッドは代替メソッドが用意されたりする
こともあると思いますが、startScanについては上記の理由でたぶん
廃止されて終了になると予想できます。
メソッドがほんとうに廃止されてしまった後は、既出ですがいろいろ
不具合が発生すると思います。
「アプリが落ちたり固まったり」はエラーハンドリングの実装次第
じゃないですかね。(そのうちビルドもできなくなるような気は
しますが。)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。