android de début de l'activité de service
Android:
public class LocationService extends Service {
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
startActivity(new Intent(this, activity.class));
}
}
J'ai lancé ce service de Activity
Dans Activity
si la condition répond à commencer
startService(new Intent(WozzonActivity.this, LocationService.class));
de mon LocationService
mentionnés ci-dessus n'a pas pu lancer Activity
, comment puis-je obtenir contexte actuel de l'exécution de Activity
en service de classe?
Vous devez vous connecter pour publier un commentaire.
De l'intérieur de la classe de Service:
J'ai eu le même problème, et que vous voulez vous laisser savoir que rien de ce qui précède a fonctionné pour moi.
Ce qui a fonctionné pour moi a été:
et dans une de mes sous-classes, stockées dans un fichier séparé, j'ai dû:
Toutes les autres réponses m'a donné un
nullpointerexception
.Une autre chose à noter: alors que la réponse ci-dessus fonctionne très bien lorsque notre tâche est dans le fond, la seule façon que je pouvais le faire fonctionner si notre tâche (en service + certaines activités) a été à l'avant-plan (c'est à dire l'une de nos activités visible pour l'utilisateur) était comme ça:
Je ne sais pas si ACTION_VIEW ou FLAG_ACTIVITY_NEW_TASK sont de toute utilisation réelle ici. La clé du succès a été
et bien sûr FLAG_ACTIVITY_REORDER_TO_FRONT pour ne pas l'instanciation de la reprise de l'activité. Bonne chance!
on ne peut pas utiliser le
Context
de laService
; a été en mesure d'obtenir l' (forfait)Context
à l'identique:Alternativement,
Vous pouvez utiliser votre propre classe d'Application et d'appel, où que vous les besoins (en particulier les non-activités).
Et inscrire votre classe d'Application :
Puis composez le :
context = getApplicationContext();
àcontext = this;
Si vous avez besoin de recal une Activité qui est en bacgrounde, de votre service, je vous suggère le lien suivant. L'intention.FLAG_ACTIVITY_NEW_TASK n'est pas la solution.
https://stackoverflow.com/a/8759867/1127429