Le service d'arrière-plan doit envoyer l'emplacement GPS sur le serveur
J'ai un problème avec mon application Android. J'ai besoin d'une application qui vous permettra d'envoyer en arrière-plan de localisation GPS toutes les 10 minutes sur le serveur (ici, j'ai de service WCF). L'Application doit envoyer des données, même si elle est fermée. J'ai donc créé un service (à des fins de test) qui m'envoie de temps sur le serveur. Mais quand j'insère mon code pour obtenir la position GPS dans mon service tout échoue (arrêté de façon inattendue).
J'ai reed que vous avez besoin de mettre un peu récepteur ou quelque chose, mais rien pour l'instant fonctionne. Donc je serai très heureux si quelqu'un peut m'aider.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.biromatik.GPS"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="4" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".ETMGPSServiceActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:name=".MyApplication" >
<service
android:enabled="true"
android:name=".MonitorService" >
</service>
<receiver
android:enabled="true"
android:name=".LocationReceiver" >
<intent-filter >
<action android:name="com.biromatik.intent.action.LOCATION" />
</intent-filter>
</receiver>
</application>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
</manifest>
source d'informationauteur Mihael Meklav | 2011-11-11
Vous devez vous connecter pour publier un commentaire.
Je l'ai fait dans mon appli pour faire la même chose que vous avez demandé.
Dans mon service, j'ai ajouté ceci:
REMARQUE: Voir que j'utilise MyApplication.getAppContext(); c'est parce que je suis en utilisant ma propre classe d'Application pour ajouter du contexte.
Et puis j'ai un BroadcastReceiver:
la classe d'Application:
Également dans votre manifeste, vous devez ajouter les deux:
Méthode pour détecter si le service est en cours d'exécution je le fais sur ma première Activité:
Évidemment, vous devez contrôler les SharedPreferences (paramètres) pour définir la locationService variable vrai/faux si le service est en cours d'exécution (démarrage) ou non (onDestroy).