2013-04-24 8 views
6

Moja aplikacja dotyczy wiadomości Cell Broadcast, które nie są uporządkowane. Chcę, aby moja aplikacja odbierała tę transmisję i zabijała powiadomienie o wiadomościach CB.Jak przerwać powiadomienie o transmisji? (w przypadku niezamówionego rozsyłania)

Znalazłem się, że powiadomienie SMS można stłumić stosując filtr zamiaru z tagiem priorytetu, jak pokazano poniżej

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

Więc starałem się zrobić to samo z komunikatów CB jak ten

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

Ale to nie działa, a kot log wygląda następująco

enter image description here

Z moich badań i poniżej komentarzy dowiedziałem się, że nie można anulować emisji nie zamówionych, więc wszystko, co chcę zrobić, to wyłączyć powiadomienie (tj. Alert CB_SMS i wibracje) generowane przez komunikat CB.

Czy ktoś może mi pomóc w tym anulowaniu niezarejestrowanego powiadomienia o programach telewizyjnych?

Odpowiedz

0

Możesz także zmniejszyć głośność?

A może po prostu emulować hak zestawu słuchawkowego Bluetooth, aby automatycznie odpowiedzieć na połączenie (w trybie cichym)?

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

Czy potrzebuję użyć jakichkolwiek uprawnień w moim manifeście dla któryś z nich do pracy? –

6

Nie można przerwać regularnych transmisji. Każdy, kto zarejestrował dla nich BraodcastReceiver, otrzyma je.

+1

OK, czy mogę ukryć powiadomienie o wiadomości dla tej niezamówionej transmisji? Jeśli tak, jak mogę to zrobić? – Code

+1

@Code: "Czy mogę ukryć powiadomienie o wiadomości dla tego niezamówionego programu?" - Nie wiem, co to jest "alert powiadomienia o wiadomości". Jeśli masz na myśli "Powiadomienie" wyświetlane przez inną aplikację, to nie, nie możesz tego ukryć. – CommonsWare

+0

przez "Powiadomienie o powiadomieniu o wiadomości" Mam na myśli odniesienie do powiadomienia wygenerowanego przez telefon, gdy otrzymasz wiadomość tekstową (lub CbMessage w tym przypadku) – Code

Powiązane problemy