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 :

Service Android qui ne démarre pas


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    En formation dévellopeur
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : En formation dévellopeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Par défaut Service Android qui ne démarre pas
    Bonjour,
    Je suis étudiant en informatique, en stage, et je dois développer une application android qui nécessite d'avoir un service qui tourne en arrière plan pour interroger regulierement une base de donnée distante et créer une notification.

    J'ai suivi un tutoriel Android (et d'autres aussi), mais j'ai toujours le même problème, aucun service ne démarre lorsque je clique sur le bouton.

    Je travaille sous eclipse avec le plugin google et je lance mon projet dans des périphériques virtuels. j'ai essayé avec toutes les versions d'android de la 2.2 à la 4.1 et j'ai le même problème, est ce que quelqu'un à déjà eu ce problème, pouvez vous m'aider s'il vous plait?

    Voici le MainActivity.java
    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
    public class MainActivity extends Activity {
     
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
     
                    setContentView(R.layout.activity_main);
     
    		Button serviceBtn = (Button) findViewById(R.id.serviceBtn);
     
    		serviceBtn.setOnClickListener( new OnClickListener()
    		{
     
    			@Override
    			public void onClick(View actuelView)
    			{
    				startService(new Intent(MainActivity.this, Notif.class));
    			}
    		});
             }
    }
    Le service Notif.java:
    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
    public class Notif extends Service{
     
    	 private LocationManager			locationMgr				= null;
    	 private LocationListener		onLocationChange	= new LocationListener()
    	 {
    	 @Override
    	 public void onStatusChanged(String provider, int status, Bundle extras)
    	 {
    	 }
     
    	 @Override
    	 public void onProviderEnabled(String provider)
    	 {
    	 }
     
    	 @Override
    	 public void onProviderDisabled(String provider)
    	 {
    	 }
     
    	 @Override
    	 public void onLocationChanged(Location location)
    	 {
     
    	 Double latitude = location.getLatitude();
    	 Double longitude = location.getLongitude();
     
    	 Toast.makeText(getBaseContext(),
    	 "Voici les coordonnées de votre téléphone : " + latitude + " " + longitude,
    	 Toast.LENGTH_LONG).show();
    	 }
    	 };
     
    	 @Override
    	 public IBinder onBind(Intent arg0)
    	 {
    	 return null;
    	 }
     
    	 @Override
    	 public void onCreate()
    	 {
     
    	 locationMgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    	 locationMgr.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000,
    	 0, onLocationChange);
    	 locationMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 0,
    	 onLocationChange);
    	 super.onCreate();
    	 }
     
    	 @Override
    	 public int onStartCommand(Intent intent, int flags, int startId)
    	 {
     
    	 return super.onStartCommand(intent, flags, startId);
    	 }
     
    	 @Override
    	 public void onDestroy()
    	 {
    	 super.onDestroy();
    	 locationMgr.removeUpdates(onLocationChange);
    	 }
    }
    Le activity_main.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <Button  
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="@string/btn1"
        android:id="@+id/serviceBtn"
        />
    </LinearLayout>
    et le AndroidManifest.xml
    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
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.cafenoir.test"
        android:versionCode="1"
        android:versionName="1.0" >
     
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="15" />
     
        <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name=".MainActivity"
                android:configChanges="orientation|keyboardHidden"
                android:label="@string/title_activity_main" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
     
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity
                android:name="org.apache.cordova.DroidGap"
                android:configChanges="orientation|keyboardHidden"
                android:label="@string/app_name" >
                <intent-filter>
                </intent-filter>
            </activity>
     
     
            <service android:name=".com.cafenoir.test.Notif" />
        </application>
     
     
     
        <supports-screens
            android:anyDensity="true"
            android:largeScreens="true"
            android:normalScreens="true"
            android:resizeable="true"
            android:smallScreens="true" />
     
        <uses-permission android:name="android.permission.CAMERA" />
        <uses-permission android:name="android.permission.VIBRATE" />
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.RECEIVE_SMS" />
        <uses-permission android:name="android.permission.RECORD_AUDIO" />
        <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
        <uses-permission android:name="android.permission.READ_CONTACTS" />
        <uses-permission android:name="android.permission.WRITE_CONTACTS" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.GET_ACCOUNTS" />
        <uses-permission android:name="android.permission.BROADCAST_STICKY" />
        <uses-permission android:name="android.permission.ACCESS_GPS" />	
    	<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />	
    	<uses-permission android:name="android.permission.LOCATION" />
     
    </manifest>

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 8
    Par défaut
    Essaye d'ajouter enabled=true dans ton fichier Manifest :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <service
           android:name=".com.cafenoir.test.Notif"
           android:enabled="true" >
    </service>

  3. #3
    Membre averti
    Homme Profil pro
    En formation dévellopeur
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : En formation dévellopeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Par défaut
    Merci de me répondre si vite.
    J'ai ajouté la ligne, testé en 2.2 et 3.2 et ça ne fonctionne toujours pas..

  4. #4
    Membre averti
    Homme Profil pro
    En formation dévellopeur
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : En formation dévellopeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Par défaut
    sinon dans les logs j'ai ça qui revient souvent mais je ne sais pas ce que ça veut dire, j’espère que ça peut aider.
    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
    Message:
     
    Unhandled event loop exception
     
     
    Exeption Stack Trace:
     
    org.eclipse.swt.SWTException: Widget is disposed
    	at org.eclipse.swt.SWT.error(SWT.java:4361)
    	at org.eclipse.swt.SWT.error(SWT.java:4276)
    	at org.eclipse.swt.SWT.error(SWT.java:4247)
    	at org.eclipse.swt.widgets.Widget.error(Widget.java:775)
    	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:569)
    	at org.eclipse.swt.widgets.Table.getSelectionIndex(Table.java:1666)
    	at com.android.sdkuilib.internal.widgets.AvdSelector.getTableSelection(AvdSelector.java:827)
    	at com.android.sdkuilib.internal.widgets.AvdSelector.onDetails(AvdSelector.java:901)
    	at com.android.sdkuilib.internal.widgets.AvdSelector.access$500(AvdSelector.java:78)
    	at com.android.sdkuilib.internal.widgets.AvdSelector$11.widgetDefaultSelected(AvdSelector.java:715)
    	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:119)
    	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4134)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1458)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1481)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
    	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1271)
    	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3980)
    	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3619)
    	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
    	at org.eclipse.jface.window.Window.open(Window.java:801)
    	at com.android.ide.eclipse.adt.internal.launch.AndroidLaunchController$2.run(AndroidLaunchController.java:604)
    	at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:164)
    	at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:158)
    	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3944)
    	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3621)
    	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1029)
    	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:923)
    	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
    	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)
    	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
    	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
    	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:597)
    	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
    	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
    	at org.eclipse.equinox.launcher.Main.run(Main.java:1438)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 8
    Par défaut
    Alors j'ai testé ton appli, j'ai modifié dans le manifest :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <service
           android:name=".Notif"
           android:enabled="true" >
    Et j'ai désactivé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    locationMgr.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000, 0, onLocationChange);
    dans la classe Notif car cette ligne posait problème sur mon emulateur, mais sinon l'appli fonctionne correctement.

    Peut être t'es tu trompé dans tes imports?

  6. #6
    Membre averti
    Homme Profil pro
    En formation dévellopeur
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : En formation dévellopeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Par défaut
    Merci! je vais tester ça.

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

Discussions similaires

  1. service qui ne démarre pas
    Par Kropernic dans le forum VB.NET
    Réponses: 7
    Dernier message: 31/05/2010, 10h27
  2. Service Windows qui ne démarre pas en AUTOMATIQUE
    Par yellowsub122 dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 06/08/2009, 16h44
  3. Réponses: 17
    Dernier message: 24/11/2006, 15h19
  4. Service windows qui ne repond pas
    Par youcef81 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 03/06/2006, 14h38
  5. Pc qui ne démarre pas (pas d'affichage)
    Par Mut dans le forum Ordinateurs
    Réponses: 12
    Dernier message: 07/04/2006, 19h50

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