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 :

Bind de service par BroadcastReceiver


Sujet :

Android

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2013
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 44
    Points : 17
    Points
    17
    Par défaut Bind de service par BroadcastReceiver
    Salut, dans mon application j'ai utilisé un service qui va lancé par un BroadcastReceiver mais il m'affiche une erreur.

    voila mon code d'appel de service:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class projet extends BroadcastReceiver { 
     public void onReceive(Context context, Intent intent) { 
     
      intent = new Intent(context, ScreenshotService.class);
      context.bindService(intent, aslServiceConn, Context.BIND_AUTO_CREATE);
    }
    }
    Erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.RuntimeException: Unable to start receiver com.example.projet: android.content.ReceiverCallNotAllowedException: BroadcastReceiver components are not allowed to bind to services
    aide moi svp!!!!

  2. #2
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    L'erreur est clair:

    Un broadcast receiver n'a pas le droit de "binder" des services. Ce qui est assez logique quand on y réfléchit bien.

    Pourquoi vouloir binder le service ? Pour "lancer" le service ? Il suffit d'appeler startService....
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2013
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    merci pour votre réponse nicroman, je suis en train d’intégrer la librairie asl dans mon application, mon application run en arrière plan à partir le broadcast et pour la librairie asl il faut binder le service,
    c'est quoi la solution pour intégrer cette librairie dans mon application?

  4. #4
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Je ne comprends pas tout...

    1. Je ne connais pas la librairie asl... un petit lien pour savoir de quoi on parle ?
    2. "mon application run en arrière plan à partir le broadcast "

    C'est à dire ? Qu'est ce qui tourne en arrière plan ? Un Service ? Dans ce cas, le broadcast démarre le service (IntentService) pas de soucis.
    Le service à lui le droit de binder d'autres services si nécessaire...
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2013
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    la librairie asl "android-screenshot-library" c'est une librairie utilisé pour la capture écran.
    mon application fait des captures écran en arrière plan chaque 5 secondes, j'ai utilisé le broadcast pour l’exécution du service asl en arrière plan.

  6. #6
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    d'après ce que j'ai lu de la document, le service ASL est démarré par adb, et pas du tout par une application android.

    Ensuite, ben à toi de faire *ton* service pour prendre des screen, comme je l'ai déjà dit: Un IntentService, démarré par le BroadcastReceiver, qui lui aura tout loisir de binder un autre service si besoin.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2013
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    d'accord merci, j'essayerai avec cette methode

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

Discussions similaires

  1. Demarrer Service par commande
    Par babyboy dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 23/01/2006, 14h37
  2. Comment gérer des services par programmation avec Delphi ?
    Par isachat666 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 18/12/2005, 18h54
  3. [10g]Fonction des nouveaux services par rapport à la 9i
    Par Laurent Dardenne dans le forum Oracle
    Réponses: 13
    Dernier message: 04/07/2005, 13h56
  4. [VB6] Lancer un service, par exemple Sql Server
    Par fea dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/10/2002, 14h07

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