onResumeでwifiSSIDがEmptyまたはequals( "null")かどうかをテストしようとすると、NPEが発生します。これが私がそれを設定する方法です:
Class MyActivity extends Activity{
WifiManager myWifiManager;
public void onCreate(Bundle savedInstanceState) {
myWifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
...
}
protected void onResume() {
if (myWifiManager.isWifiEnabled() && !(myWifiManager.getConnectionInfo().getSSID().equals("null"))) {
...
}
NPEをスローしているのはgetSSIDであると判断しました。これについて私を混乱させているのは、onCreate(または他のメソッド)でWifiManagerオブジェクトを無効にしていないことです。myWifiManager.isWifiEnabledを単独でテストすると、問題なく動作するため、オブジェクトはまだ生きています。そして、myWifiManager.getConnectionInfo()。getSSID()をログに記録して、nullまたは上記の値を取得できます(wifiが接続されているかどうかによって異なります)。だから、なぜこれが投げられるのかわからない。どんな助けでも大歓迎です!