2017-08-07 126 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" />