Bonjour,

je commence sur android, je suis habitué au java mais là le mélange avec le xml et le sdk fait un changement tout de même.

J'essaye de faire une petite application pour scanner les réseaux wifi à portée cependant j'ai une erreur au lancement et je ne sais pas trop comment m'y prendre... J'ai l'impression que j'ai un problème de droit ?!

Le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 
package com.Android.Wifiscanner;
 
import java.util.List;
 
import java.util.List;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
 
public class WifiScannerActivity extends Activity {
	private static final String TAG = "WiFiDemo";
	TextView mainText;
	WifiManager mainWifi;
	WifiReceiver receiverWifi;
	List wifiList;
	StringBuilder sb = new StringBuilder();
 
	public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.main);
	mainText = (TextView) findViewById(R.id.editText1);
	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);
	}
	}
 
	}
Le manifest:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.Android.Wifiscanner"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="10" />
 
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".WifiScannerActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
                <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
  <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
        </activity>
 
    </application>
 
</manifest>
Merci beaucoup par avance !