2013-04-24 8 views
6

La mia applicazione riguarda i messaggi Cell Broadcast, che è una trasmissione non ordinata. Desidero che la mia applicazione riceva questa trasmissione e uccida la notifica di messaggi CB.Come interrompere la notifica di trasmissione? (per una trasmissione non ordinata)

ho scoperto che SMS di notifica può essere soppresso utilizzando un filtro di intenti con un tag di priorità come illustrato di seguito

<receiver android:name="com.example.sis.xxyyReceiver" > 
     <intent-filter android:priority="999"> 
     <action android:name="android.provider.Telephony.SMS_RECEIVED" > 
     </action> 
     </intent-filter> 
</receiver> 

Così ho cercato di fare lo stesso con messaggi CB come questo

<intent-filter android:priority="100"> 
    <action android:name="android.provider.Telephony.CB_RECEIVED" > 
    </action> 
</intent-filter> 

Ma non ha funzionato, e il gatto registro appare come segue

enter image description here

Dalla mia ricerca e dai seguenti commenti, ho appreso che le trasmissioni non ordinate non possono essere interrotte, quindi tutto ciò che voglio fare è sopprimere la notifica (cioè l'avviso e la vibrazione CB_SMS) generato dal messaggio CB.

Qualcuno può aiutarmi con questo annullamento della notifica di trasmissioni non ordinate ??

risposta

0

In alternativa, è possibile abbassare il volume?

O forse basta emulare il gancio della cuffia Bluetooth per eseguire automaticamente la chiamata (in silenzio)?

Intent i = new Intent(Intent.ACTION_MEDIA_BUTTON); 
       i.putExtra(Intent.EXTRA_KEY_EVENT, 
         new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK)); 
       context.sendOrderedBroadcast(i, "android.permission.CALL_PRIVILEGED"); 

       Intent o = new Intent(Intent.ACTION_MEDIA_BUTTON); 
       o.putExtra(Intent.EXTRA_KEY_EVENT, 
         new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_HEADSETHOOK)); 
       context.sendOrderedBroadcast(o, "android.permission.CALL_PRIVILEGED"); 
+0

Devo utilizzare qualsiasi autorizzazione nel mio manifest per uno di loro a lavorare? –

6

Non è possibile interrompere le trasmissioni regolari. Chiunque abbia registrato uno BraodcastReceiver per loro li otterrà.

+1

OK, posso nascondere l'avviso di notifica messaggio per questa trasmissione non ordinata? Se sì, come posso farlo? – Code

+1

@Code: "posso nascondere l'avviso di notifica del messaggio per questa trasmissione non ordinata?" - Non so cosa sia l'avviso di notifica del messaggio. Se intendi la "Notifica" visualizzata da un'altra app, quindi no, non puoi nasconderla. – CommonsWare

+0

da "Avviso di notifica messaggio" Intendo riferirsi all'avviso di notifica generato dal telefono quando si riceve un messaggio di testo (o CbMessage in questo caso) – Code