2010-09-17 3 views
0

C'est ce que nous pouvons lire dans la page de référence du service here:Comment tester sur 1,5 AVD avec onstartcommand

Si vous avez besoin de votre application à exécuter sur les versions de la plate-forme avant niveau de l'API 5, vous pouvez utiliser les éléments suivants modèle pour gérer le plus ancien rappel onStart (Intent, int) dans ce cas. La méthode handleCommand est implémentée par vous selon le cas:
// This is the old onStart method that will be called on the pre-2.0 
// platform. On 2.0 or later we override onStartCommand() so this 
// method will not be called. 
@Override 
public void onStart(Intent intent, int startId) { 
    handleCommand(intent); 
} 

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 
    handleCommand(intent); 
    // We want this service to continue running until it is explicitly 
    // stopped, so return sticky. 
    return START_STICKY; 
} 

Ceci fonctionne parfaitement pour mon 2.1 AVD. Mais comment puis-je tester cela dans mon AVD 1.5 car il me donne des erreurs de compilation logiques.

Répondre

0

Je viens de tester cela, il devrait fonctionner comme décrit. Vous devez compiler votre projet avec une version Android supérieure au niveau API 5 afin d'utiliser la méthode onStartCommand(). N'oubliez pas de sélectionner Android 2.0.1 (niveau 6) dans l'onglet "Android" de vos paramètres de projet et définissez minSdkVersion sur 3 dans votre manifeste Android.

Vous devriez être en mesure d'exécuter ce fichier APK compilé sur Android 1.5 et Android 2.1.

+0

Merci beaucoup pour votre réponse. Cela fonctionne aussi pour moi avec ma version d'émulateur 2.1. Mon vrai problème est comment puis-je tester cela sur mon émulateur 1.5. – Plissken

+0

Si vous l'avez fait correctement, vous pouvez le démarrer avec un AVD 1.5. Avez-vous réglé votre minSdkVersion à 3? Sinon, cela ne fonctionnera pas. Si vous avez encore des problèmes: quelles erreurs obtenez-vous? – mreichelt

+1

Je viens de trouver comment faire fonctionner mon application sur 1.5 AVD: Comme d'habitude, j'ai choisi la cible de construction de projet "Android 2.1" nécessaire pour construire avec succès l'application. Et j'ai défini le mode de sélection de cible de déploiement sur manuel. De cette façon, je peux sélectionner mon AVD 1.5 lorsque je lance l'application. Auparavant, il était réglé sur automatique et le lanceur a refusé de démarrer l'application sur l'émulateur 1.5 car mon AVD n'était pas compatible avec la cible du projet 'Android 2.1'. – Plissken

Questions connexes