ここで奇妙な問題が発生しました。
NetworkInterfaces を読み取り、WiFi インターフェイス名を取得する関数があります。これは、2週間前に「android.permission.ACCESS_NETWORK_STATE」のみの許可で適切に機能しました。
今週、私は主に 3G でテストし、コード全体に小さな変更を加えました。今日、「NetworkInterface.getNetworkInterfaces()」が機能しなくなり、「許可が拒否されました」という例外が発生することに気付きました。数秒後、親愛なる友人のグーグルが、インターネットの許可が必要だと教えてくれました...
-> このプロジェクトで INTERNET パーミッションを使用したことは一度もありません ???
では、何が間違っているのでしょうか?インターネットのアクセス許可を使用せずに NetworkInterfaces を取得する方法はありますか? 追加すると再び機能しますが、そのためだけに使用したくありません。
Enumeration<NetworkInterface> interfaces = null;
try {
interfaces = NetworkInterface.getNetworkInterfaces();
} catch (SocketException e) {
e.printStackTrace();
}