Как я могу написать Broadcast Receiver, который будет вызываться, когда пользователь нажимает на значок любого приложения? - PullRequest
0 голосов
/ 18 марта 2010

Как мне написать Broadcast Receiver, который будет вызываться, когда пользователь нажимает на иконку любого приложения?

Я пытался написать:

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

Но это не называется.

Я пытался, с помощью Packagemanager я получу ApplicationInfo. Из этого я могу знать все имя запуска приложения и имена пакетов. Я думал, что я могу использовать их, чтобы зарегистрировать приемник и мой получатель будет слушать по его активности запуска и имени пакета. Но я ударил. Я не могу этого сделать. Я думаю, что сбился с пути.

Что я могу сделать, чтобы решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 10 марта 2015

Используйте эту технику:

//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
}

В основном это все. Каждый раз, когда вы нажимаете кнопку, трансляция будет отправлена. Ваш широковещательный приемник может быть закодирован в каком-то другом месте, прослушивая входящие трансляции. Если вам нужно больше кода стороны отправки широковещания или стороны приема широковещания, сообщите мне.

0 голосов
/ 18 марта 2010

Я не думаю, что это возможно, слишком много места для злоупотреблений. Что вы пытаетесь сделать, чтобы получать уведомления каждый раз, когда кто-то запускает приложение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...