2013-12-13 2 views
-1

Я хотел бы создать свой aimFilter как экземпляр предварительно определенного класса. Но почему-то затмение вызывает у меня ошибки, когда я пытаюсь сделать что-то подобное. (Это просто грубая идея ... я попробовал разные подходы либо)IntentFilter как самостоятельный класс

import android.content.IntentFilter; 

public class MyIntentFilter extends IntentFilter { 

MyIntentFilter.addAction(INTENT_BY_MAIN); // I am not sure about this line 
MyIntentFilter.addAction(INTENT_BY_OTHER); 
MyIntentFilter.addAction(INTENT_BY_WHATEVER); 

} 

реализация должна выглядеть следующим образом:

MyIntentFilter mFilter = new MyIntentFilter(); 
mBroadcastReceiver mReceiver = new mBroadcastReceiver(mHandler); 
this.registerReceiver(mReceiver, mFilter); 

P.S.

Я хочу избежать определения IntentFilter в XML или в самой деятельности. Причина? Чтобы сделать код отсоединенным как можно больше и, следовательно, читаемым (надеюсь)

ответ

1

Я не понимаю, почему вы хотите расширить IntentFilter. Если это просто для определения избежать XML, вы можете просто сделать что-то подобное, он должен работать (и больше ничего не добавляется в манифесте):

mBroadcastReceiver mReceiver = new BroadcastReceiver(mHandler); 
this.registerReceiver(mReceiver, new IntentFilter("MY_ACTION"); 
this.registerReceiver(mReceiver, new IntentFilter("MY_ACTION_2"); 
this.registerReceiver(mReceiver, new IntentFilter("MY_ACTION_3"); 
+0

тогда вопрос, может быть IntentFilter() перегружается с несколькими параметры? .... NAAAAH, это не может .... ну, я могу использовать addAction, хотя, но я не хочу быть жестко закодированным в конкретную деятельность. –

+0

Я уже говорил, что кодирование его по-вашему не является точкой этого сообщения. Но спасибо за помощь. –

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