2010-03-18 2 views
0

Comment puis-je écrire un récepteur de diffusion qui sera appelé lorsque l'utilisateur clique sur une icône de l'application?Comment puis-je écrire un récepteur de diffusion qui sera appelé lorsque l'utilisateur clique sur une icône de l'application?

J'ai essayé par écrit:

<receiver android:name = "myreceiver"> 
    <intent-filter> 
     <action android:name = "android.intent.action.MAIN"> 
    </intent-filter> 
</receiver> 

Mais ce n'est pas appelé.

J'ai essayé, en utilisant Packagemanager Je vais obtenir ApplicationInfo. De cela, je peux connaître toutes les applications commençant le nom d'activité et les noms de paquets. Je pensais pouvoir les utiliser pour enregistrerReceiver et mon récepteur écoutera par son activité de lancement et son nom de paquet. Mais j'ai frappé. Je suis incapable de faire ça. Je pense que j'ai perdu le chemin.

Que puis-je faire pour résoudre ce problème?

Répondre

0

Je ne pense pas que ce soit possible, il y a juste trop de place pour abuser. Qu'est-ce que vous essayez de faire que vous auriez besoin d'être informé chaque fois que quelqu'un a lancé une application?

+0

Je cherchais aussi des fonctionnalités similaires pour enregistrer l'activité de l'utilisateur (ouverture des applications, principalement, pas de pression de touche/navigateur, etc) – Adam

+0

Je voudrais garder le verrou à l'application.que jamais l'utilisateur essaie de démarrer l'application, c.-à-d. icône de l'application mon récepteur a de raison et une boîte de dialogue s'ouvrira si l'utilisateur donne des détails corrects puis l'application sera débloquée et l'application commencera .. maintenant dites-moi suis-je de la bonne manière pour accomplir ma tâche .. s'il vous plaît me guider .. merci d'avance .. –

+0

Ce que je vous dis est que je ne pense pas qu'il existe un moyen d'atteindre ce que vous voulez. Vous pouvez (bien sûr) dire quand les applications que vous avez écrites, mais je ne pense pas que le système d'exploitation permettra aux gens de se connecter au lancement de toutes les applications. – CaseyB

0

Utilisez cette technique:

//implement onClickListener on your class 

Class blabla extends Activity implements onClickListener{ 
... 
... 
} 

//this will force you to override the onClick method on your activity or //fragment 
@override 
void onClick(View V){ 
sendBroadcast(new Intent("clickSomewhere!")); 
//Put here more actions you want to do when anything is touched/clicked 
} 

En gros, cela est-il. Chaque fois que vous appuyez sur un bouton, la diffusion sera envoyée. Votre récepteur de diffusion, pourrait être codé dans un autre endroit, en écoutant les émissions entrantes. Si vous avez besoin de plus de code du côté d'émission de diffusion, ou du côté de réception de diffusion, faites-le moi savoir.

Questions connexes