J'ai écrit une application Android qui scanne pour la connexion wifi.android Wifi application craches
i utilisé le code suivant
package com.android.wifitester;
java.util.List d'importation; importez android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; importez android.net.wifi.ScanResult; importez android.net.wifi.WifiManager; importez android.os.Bundle; importez android.view.Menu; importez android.view.MenuItem; importez android.widget.TextView;
public class WifiTester étend l'activité { TextView mainText; WifiManager mainWifi; WifiRécepteurWifi; Liste wifiList; StringBuilder sb = new StringBuilder();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mainText = (TextView) findViewById(R.id.mainText);
mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
receiverWifi = new WifiReceiver();
registerReceiver(receiverWifi, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
mainWifi.startScan();
mainText.setText("\nStarting Scan...\n");
}
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 0, 0, "Refresh");
return super.onCreateOptionsMenu(menu);
}
public boolean onMenuItemSelected(int featureId, MenuItem item) {
mainWifi.startScan();
mainText.setText("Starting Scan");
return super.onMenuItemSelected(featureId, item);
}
protected void onPause() {
unregisterReceiver(receiverWifi);
super.onPause();
}
protected void onResume() {
registerReceiver(receiverWifi, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
super.onResume();
}
class WifiReceiver extends BroadcastReceiver {
public void onReceive(Context c, Intent intent) {
sb = new StringBuilder();
wifiList = mainWifi.getScanResults();
for(int i = 0; i < wifiList.size(); i++){
sb.append(new Integer(i+1).toString() + ".");
sb.append((wifiList.get(i)).toString());
sb.append("\n");
}
mainText.setText(sb);
}
}
}
quand je lance l'application sur l'émulateur, il se bloque
le fichier manifeste est:
<?xml version="1.0" encoding="utf-8"?>
</application>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-sdk android:minSdkVersion="8" />
ma question est pourquoi il se bloque bien que j'ai ajouté la ligne d'autorisation
Vous devez poster l'erreur que vous obtenez quand il tombe en panne, donc nous savons ce qui est faux. –