Lo creo nello stesso modulo.
L'ho nidificato nella classe dell'Activity:
public class MyReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
}
}
Il metodo onReceive viene dato di default.Per la registrazione, bisogna prima istanziare la classe creata.
Ci provo...
Scrivo intanto un'azione per l'evento onReceive:
public class MyReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("ricevuto");
}
}
Ecco:
public class MainActivity extends AppCompatActivity {
MyReceiver myReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myReceiver=new MyReceiver();
}
Ora devo definire un IntentFilter e registrare il Receiver insieme a questo IntentFilter in onResume, deregistrandolo in onPauseProvo a usare l'intentFilter che ho trovato nella costruzione dell'HomeWatcher:
myReceiver=new MyReceiver();
intentFilter=new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
Quindi registro in onResume e deregistro in onPause:
@Override
protected void onResume(){
super.onResume();
registerReceiver(myReceiver,intentFilter);
}
@Override
protected void onPause(){
super.onPause();
unregisterReceiver(myReceiver);
}
Funziona. Intercetta la pressione del tasto Home.Ma non mi previene la chiusura dell'activity.
Nessun commento:
Posta un commento