ho incontrato qualcosa di simile nel AndroidManifest.xml:Android BroadcastReceiver senza alcun intento filtro
<receiver android:name="com.testco.test.TestReceiver"/>
Quanto sopra è TestReceiver estende la classe BroadcastReceiver. Ho pensato che il destinatario ricevesse tutti gli intenti, ma a quanto pare non lo fa, e non funziona a meno che non aggiunga tag filtro intent-in. Quindi cosa fa se non ha un filtro intent? È un errore di battitura o fa davvero qualcosa?
UPDATE: ho pensato che questo fuori con l'aiuto di questo link Trying to have a Broadcast Receiver with No filter
Invece di chiamare una trasmissione con il solito identificatore di stringa, è possibile impostare una stringa di azione per l'intento, poi trasmesso esso. Esempio di codice di riferimento:
Intent notifyIntent = new Intent(getApplicationContext(), TestReceiver.class);
notifyIntent.setAction("RECEIVE");
sendBroadcast(notifyIntent);
La gestione al BroadcastReceiver è la stessa.
Chiunque abbia scritto quel codice, dice loro che il loro stile di azione non segue lo standard. Dovrebbe seguire com.packagename.intent.messagehere, questo è lo standard che è stato inserito e come tale dovrebbe essere seguito. – JoxTraex