IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Problème de developpement WifiManager


Sujet :

Android

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Problème de developpement WifiManager
    Bonjour, je suis actuellement bloqué dans mon projet, je dois faire de la triangulation par wifi, et actuellement j'en suis a récupérer les données nécessaire, ici le RSSI, cependant, mon code parait juste, et éclipse ne me pointe aucune erreur, cependant dès que je lance le programme sur un appareil, il plante des que je clique sur le bouton, suis-je aveugle, une erreur m'aurait-elle échappé?

    Code Java : 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
    package com.example.smarttwo;
     
    import android.os.Bundle;
    import android.net.wifi.*;
    import android.app.Activity;
    import android.content.Context;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.Toast;
     
    public class MainActivity extends Activity implements OnClickListener 
    {
    	private Button test;
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) 
    	{
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
     
    		this.test = (Button)this.findViewById(R.id.button1);
    		this.test.setOnClickListener(this);
      	}
     
    	@Override
    	public boolean onCreateOptionsMenu(Menu menu) 
            {
    		getMenuInflater().inflate(R.menu.main, menu);
    		return true;
    	}
     
    	public void onClick(View v)
    	{
    		int testy;
    		testy = getSignalStrength();
    		Toast.makeText(this, testy, Toast.LENGTH_SHORT).show();
    	}
     
    	public int getSignalStrength()
    	{
    		WifiManager wifiManager = (WifiManager)this.getSystemService(Context.WIFI_SERVICE);
    		int linkSpeed = wifiManager.getConnectionInfo().getRssi();
    		return linkSpeed;
    	}
    }

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Que te sors le LogCat ?
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 6
    Points : 5
    Points
    5
    Par défaut <Voila>
    01-30 07:15:31.314: E/AndroidRuntime(845): FATAL EXCEPTION: main
    01-30 07:15:31.314: E/AndroidRuntime(845): Process: com.example.smarttwo, PID: 845
    01-30 07:15:31.314: E/AndroidRuntime(845): java.lang.SecurityException: WifiService: Neither user 10053 nor current process has android.permission.ACCESS_WIFI_STATE.
    01-30 07:15:31.314: E/AndroidRuntime(845): at android.os.Parcel.readException(Parcel.java:1465)
    01-30 07:15:31.314: E/AndroidRuntime(845): at android.os.Parcel.readException(Parcel.java:1419)
    01-30 07:15:31.314: E/AndroidRuntime(845): at android.net.wifi.IWifiManager$Stub$Proxy.getConnectionInfo(IWifiManager.java:768)
    01-30 07:15:31.314: E/AndroidRuntime(845): at android.net.wifi.WifiManager.getConnectionInfo(WifiManager.java:884)
    01-30 07:15:31.314: E/AndroidRuntime(845): at com.example.smarttwo.MainActivity.getSignalStrength(MainActivity.java:45)
    01-30 07:15:31.314: E/AndroidRuntime(845): at com.example.smarttwo.MainActivity.onClick(MainActivity.java:38)
    01-30 07:15:31.314: E/AndroidRuntime(845): at android.view.View.performClick(View.java:4438)
    01-30 07:15:31.314: E/AndroidRuntime(845): at android.view.View$PerformClick.run(View.java:18422)
    01-30 07:15:31.314: E/AndroidRuntime(845): at android.os.Handler.handleCallback(Handler.java:733)
    01-30 07:15:31.314: E/AndroidRuntime(845): at android.os.Handler.dispatchMessage(Handler.java:95)
    01-30 07:15:31.314: E/AndroidRuntime(845): at android.os.Looper.loop(Looper.java:136)
    01-30 07:15:31.314: E/AndroidRuntime(845): at android.app.ActivityThread.main(ActivityThread.java:5017)
    01-30 07:15:31.314: E/AndroidRuntime(845): at java.lang.reflect.Method.invokeNative(Native Method)
    01-30 07:15:31.314: E/AndroidRuntime(845): at java.lang.reflect.Method.invoke(Method.java:515)
    01-30 07:15:31.314: E/AndroidRuntime(845): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
    01-30 07:15:31.314: E/AndroidRuntime(845): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
    01-30 07:15:31.314: E/AndroidRuntime(845): at dalvik.system.NativeStart.main(Native Method)

    J'ai du mal a comprendre ce rapport d'erreur je l'avoue, même après quelques recherche internet. Toute aide est la bienvenue.

  4. #4
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Points : 2 808
    Points
    2 808
    Par défaut
    Bonjour,

    Il faut ajouter la permission android.permission.ACCESS_WIFI_STATE dans le manifest.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

  5. #5
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Je vais compléter sur la lecture d'une stacktrace.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    01-30 07:15:31.314: E/AndroidRuntime(845): FATAL EXCEPTION: main
    01-30 07:15:31.314: E/AndroidRuntime(845): Process: com.example.smarttwo, PID: 845
    01-30 07:15:31.314: E/AndroidRuntime(845): java.lang.SecurityException: WifiService: Neither user 10053 nor current process has android.permission.ACCESS_WIFI_STATE.
    01-30 07:15:31.314: E/AndroidRuntime(845): at android.os.Parcel.readException(Parcel.java:1465)
    01-30 07:15:31.314: E/AndroidRuntime(845): at android.os.Parcel.readException(Parcel.java:1419)
    Cette partie là 01-30 07:15:31.314: E/AndroidRuntime(845): est purement informative. Elle permet de savoir l'heure, et d'avoir une petite information sur ce qui trace.

    Ce qui nous intéresse principalement, c'est le reste.

    La première ligne t'indique l'exception => SecurityException
    Ensuite, tu as généralement une stacktrace avec un "caused by ..." te donnant les informations du crash : la classe où a surgit l'exception, dans quelle méthode, le fichier et la ligne.

    Ici, c'est un autre cas. C'est un problème de permission, comme l'indique le message : Neither user 10053 nor current process has android.permission.ACCESS_WIFI_STATE..

    En traduisant, tu es amené à comprendre qu'il te manque une permission.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 6
    Points : 5
    Points
    5
    Par défaut toujours une erreur
    Merci beaucoup de votre aide, je crois que je comprend mieux le principe des rapports d'erreur maintenant, merci ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème sql developper ?
    Par Romane dans le forum Sql Developer
    Réponses: 3
    Dernier message: 17/03/2010, 10h01
  2. Réponses: 5
    Dernier message: 22/02/2008, 13h08
  3. Réponses: 2
    Dernier message: 03/11/2007, 09h28
  4. Réponses: 1
    Dernier message: 04/08/2007, 23h18
  5. Assembly posant problème hors machine de developpement
    Par theMonz31 dans le forum VC++ .NET
    Réponses: 5
    Dernier message: 15/06/2007, 09h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo