2017-08-07 124 views
-1

我試圖做一個應用程序來打開和關閉WiFi。我有以下代碼。每次運行它都會崩潰。不能理解爲什麼。 API - 26Android:WIFI開啓和關閉應用程序崩潰(JAVA)

這是MainActivity.java

package com.example.fahad.test; 
import android.content.Context; 
import android.net.wifi.WifiManager; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.widget.CompoundButton; 
import android.widget.TextView; 
import android.widget.ToggleButton; 

public class MainActivity extends AppCompatActivity { 

ToggleButton toggleButton; 
TextView textView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    // setContentView(R.layout.turn_on_off_wifi_programmatically); 

    toggleButton = (ToggleButton) findViewById(R.id.toggleButton); 

    textView = (TextView) findViewById(R.id.text_view); 

    toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
     @Override 
     public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { 
      if (checked) { 
       textView.setText("WiFi is ON"); 
       WifiManager wifi = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE); 
       wifi.setWifiEnabled(true); 
      } else { 
       textView.setText("WiFi is OFF"); 
       WifiManager wifi = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE); 
       wifi.setWifiEnabled(false); 
      } 
     } 
    }); 

    if (toggleButton.isChecked()) { 
     textView.setText("WiFi is ON"); 
     WifiManager wifi = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE); 
     wifi.setWifiEnabled(true); 
    } else { 
     textView.setText("WiFi is OFF"); 
     WifiManager wifi = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE); 
     wifi.setWifiEnabled(false); 
    } 
} 
} 

請幫助我與此有關。由於

+0

安置自己的堆棧跟蹤 –

+0

使用logcat的檢查與碰撞相關的Java堆棧跟蹤:https://stackoverflow.com/questions/23353173/unfortunately-myapp都具有一個 - 停止 - 如何-可以-I-解決,這 – CommonsWare

回答

0

只需添加這允許您的清單

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />