2016-01-26 3 views
0

Я пытаюсь построить фильтр намерений для пользовательского намеренияКак настроить пользовательский фильтр намерений

registerReceiver(new CustomReceiver(), new IntentFilter("CUSTOM_INTENT")); 

Вот CustomReceiver класса

public class CustomReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     //Do something 
    } 
} 

Когда я испытываю приемник

adb -s 24da2d85 shell am broadcast -a CUSTOM_INTENT 

Я не получаю ответа

Broadcast completed: result=0 

ответ

1

С new IntentFilter("CUSTOM_INTENT") вы определяете действие CUSTOM_INTENT при отправке действия android.intent.action.CUSTOM_INTENT.

Лучше определить действие в собственном пространстве имен

registerReceiver(new CustomReceiver(), new IntentFilter("my.action.CUSTOM_INTENT")); 

и назвать его как

adb -s 24da2d85 shell am broadcast -a my.action.CUSTOM_INTENT 
+0

Спасибо, но я все еще получаю тот же ответ 'результат = 0' –

+0

ли я Корни мое устройство, чтобы поймать пользовательские действия? –

+0

@the_prole Я не думаю, что это когда-нибудь изменится. Это 'resultCode', а 0 означает отсутствие ошибки. Поместите оператор журнала в 'CustomReceiver.onReceive()' и посмотрите, что там происходит. – tynn

Смежные вопросы