Java 无法启动活动组件信息?

Java 无法启动活动组件信息?,java,Java,我正在使用下面的代码,我试图添加一个按钮来关闭wifi,但我得到了错误 java.lang.RuntimeException: Unable to start activity ComponentInfo 有什么想法吗?按钮代码是否需要放在其他地方? 谢谢 import java.util.List; 导入android.app.Activity; 导入android.os.Bundle; 导入android.content.Context; 导入android.net.Connectivit

我正在使用下面的代码,我试图添加一个按钮来关闭wifi,但我得到了错误

java.lang.RuntimeException: Unable to start activity ComponentInfo
有什么想法吗?按钮代码是否需要放在其他地方? 谢谢

import java.util.List;
导入android.app.Activity;
导入android.os.Bundle;
导入android.content.Context;
导入android.net.ConnectivityManager;
导入android.net.NetworkInfo;
导入android.net.wifi.WifiConfiguration;
导入android.net.wifi.WifiManager;
导入android.util.Log;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.widget.Button;
导入android.widget.TextView;
公共类测试活动扩展了活动{
/**在首次创建活动时调用。
*@return*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
TextView tv=新的TextView(此);
TextView状态=新的TextView(此);
WifiManager wifi=(WifiManager)getSystemService(Context.wifi\u SERVICE);
WifiConfiguration wc=新的WifiConfiguration();
wc.SSID=“\”MyNetwork\”;//IMP!应该用引号括起来!!
wc.hiddenSSID=true;
wc.status=WifiConfiguration.status.ENABLED;
wc.priority=10;
wc.allowedKeyManagement.set(wificonfig.keymanagement.WPA\u PSK);
wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
wc.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
wc.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
wc.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
wc.allowedPairwisecipher.set(WifiConfiguration.Pairwiseciper.CCMP);
wc.allowedPairwisecipher.set(WifiConfiguration.Pairwiseciper.TKIP);
wc.preSharedKey=“\”密码“”;
WifiManager wifiManag=(WifiManager)this.getSystemService(WIFI_服务);
布尔值res1=wifiManag.setWifiEnabled(真);
int res=wifi.addNetwork(checkPreviousConfiguration(wc));
Log.d(“WifiPreference”,“添加返回的网络”+res);
布尔es=wifi.saveConfiguration();
Log.d(“WifiPreference”、“saveConfiguration returned”+es);
布尔b=wifi.enableNetwork(res,true);
Log.d(“WifiPreference”、“enableNetwork returned”+b);
tv.setText(“您现在已连接!”+
“第1.1版”);
status.setText(“连接时出错,请重试”);
//@凌驾
试试{
睡眠(5000);
ConnectivityManager connec=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_服务);
如果(connec!=null&&(connec.getNetworkInfo(1.getState()==NetworkInfo.State.CONNECTED)| |(connec.getNetworkInfo(0.getState()==NetworkInfo.State.CONNECTED)){
//您已连接,请在线执行操作。
设置内容视图(电视);
}如果(connec.getNetworkInfo(0).getState()==NetworkInfo.State.DISCONNECTED | | connec.getNetworkInfo(1).getState()==NetworkInfo.State.DISCONNECTED){
//没有连接。
setContentView(状态);
}  
}捕捉(中断异常e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
WiFi按钮=(按钮)findViewById(R.id.OffWifi);
setOnClickListener(新的OnClickListener(){
公共void onClick(视图v){
WifiManager WifiManager=(WifiManager)getBaseContext().getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(false);
}        
});                       
}
公共无线配置检查先前配置(无线配置wc){
WifiManager wifi=(WifiManager)getSystemService(Context.wifi\u SERVICE);
List configs=wifi.getConfiguredNetworks();
对于(WifiConfiguration config:configs){
if(config.SSID.equals(wc.SSID))返回config;
}     
返回wc;
} 
}
NM所需的setContentView(R.layout.main);在按钮之前,nNM需要setContentView(R.layout.main);按钮前
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class TestActivity extends Activity {
/** Called when the activity is first created. 
 * @return */       

@Override
public void onCreate(Bundle savedInstanceState) {    
    super.onCreate(savedInstanceState);

    TextView tv = new TextView(this);       
    TextView status = new TextView(this);                  

    WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
    WifiConfiguration wc = new WifiConfiguration();  
    wc.SSID = "\"MyNetwork\""; //IMP! This should be in Quotes!! 

    wc.hiddenSSID = true; 
    wc.status = WifiConfiguration.Status.ENABLED;      
    wc.priority = 10; 
    wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); 
    wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);  
    wc.allowedProtocols.set(WifiConfiguration.Protocol.WPA); 
    wc.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); 
    wc.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED); 
    wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); 
    wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); 
    wc.preSharedKey = "\"Password""; 
    WifiManager  wifiManag = (WifiManager) this.getSystemService(WIFI_SERVICE); 
    boolean res1 = wifiManag.setWifiEnabled(true); 
    int res = wifi.addNetwork(checkPreviousConfiguration(wc)); 
    Log.d("WifiPreference", "add Network returned " + res ); 
    boolean es = wifi.saveConfiguration(); 
    Log.d("WifiPreference", "saveConfiguration returned " + es ); 
    boolean b = wifi.enableNetwork(res, true);    
    Log.d("WifiPreference", "enableNetwork returned " + b );   

    tv.setText("You are now connected!  " +
            "Version 1.1");

    status.setText("The was an error connecting, please try again.");

       //@Override

    try {            
        Thread.sleep(5000);

         ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); 

         if (connec != null && (connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED) ||(connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED)){  
                //You are connected, do something online. 
                setContentView(tv);

            }else if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED ||  connec.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED ) {              
                //Not connected.         
               setContentView(status);
            }  

    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


    Button OffWifi = (Button)findViewById(R.id.offwifi);
    OffWifi.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) {                 
          WifiManager wifiManager = (WifiManager)getBaseContext().getSystemService(Context.WIFI_SERVICE);
            wifiManager.setWifiEnabled(false);          
          }        
      });                       
}

public WifiConfiguration checkPreviousConfiguration(WifiConfiguration wc) {

    WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
    List<WifiConfiguration> configs = wifi.getConfiguredNetworks();     

    for(WifiConfiguration config : configs) {         
        if(config.SSID.equals(wc.SSID)) return config;     
        }     
    return wc; 
    } 
}