[Android6.0]MACアドレスが取得できない
動作環境
Android6.0
現象
今更、Android6.0かよ。と思うかもしれませんが、これは大学の卒業研究でAndroid6.0でアプリを作っていて知ったのでメモ書き程度に書きます。 まず、卒業研究自体がWi-FiのビーコンをAndroid端末でスキャンして、BSSIDと電波強度の複数セットをウェブサーバに送信して、誰がどのあたりにいるかどうかを見るシステムを作ってるわけです。一応、Android端末からウェブサーバにアクセスする際に、誰もがアクセスして言い訳でないのでIDとパスワードで最初は認証をしてました。そこで、まだ不安だったので、Android端末のMACアドレスも認証材料にしようかと、以下のコードで取得しようとしましたが、実際に取得できたのは(02:00:00:00:00:00)でした。
WifiManager wifiManager = (WifiManager)getSystemService(WIFI_SERVICE); String address = wifiManager.getConnectionInfo().getMacAddress();
結論
ぐぐっていると、セキュリティ上の観点から取得不可にしたそうです。 そうなると今回の目的が達成できないので、急遽変更でMACアドレスからウェブサーバで一時パスワードを発行して、それをAndroid端末から送る形に変えました。 無事、その方法で解決しました。 あっちなみに、よりによってAndroid6.0をなぜ使っているかと言うと、大学の研究費が少ないせいもあり、新しいAndroid端末を買ってもらえないって感じです(笑 まーAndroid最新バージョンであろうとも、特に支障はないんですがね