этот вопрос может показаться довольно широким, но я уверен, что как только вы прочитаете, контекст станет ясным.Как использовать onNewIntent в классе неактивности
Мне нужно написать класс, который не распространяется на активность, но я хочу, чтобы он мог запускать методNewIntent.
Причина этого в том, что класс действительно не имеет или не нуждается в интерфейсе или подключен к пользовательскому интерфейсу. Мне просто нужно это, чтобы нюхать для некоторых намерений в фоновом режиме. Я пока не могу заставить часть onNewIntent работать.
Вот что я имею в виду.
public class MyClass {
private PendingIntent mPendingIntent;
private IntentFilter[] mFilters;
public MyClass(){
this.activity = activity;
doAction();
}
public void doAction(){
mPendingIntent = PendingIntent.getActivity(activity.getApplicationContext(), 0, new Intent(activity.getApplicationContext(),getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
mFilters = new IntentFilter[]{
new IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED),
new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED),
new IntentFilter(NfcAdapter.ACTION_TAG_DISCOVERED)};
}
//Now i want to do some action when there is a new intent but since it doesn't extend activity, this don't work. Extending activity will mean using onCreate and all that other good stuff which i don't want
@Override
public void onNewIntent(Intent intent) {
Toast.makeText(activity.getApplicationContext(), "Got to intent", Toast.LENGTH_SHORT).show();
super.onNewIntent(intent);
doStuffWithIntent(intent);
//This block doesn't work. I'm looking for alternative to get working.
}
}
Поскольку класс не нуждается в интерфейсе, я не вижу причин, по которым он должен расширять деятельность. Но за то, что я хочу сделать правильно, мне нужно проверить новые намерения.
Хотелось бы узнать, есть ли способ обхода для не-активного класса для прослушивания новых намерений.
Вы, кажется, добавив ненужные сложности в этом. Вам просто нужна «активность» без пользовательского интерфейса? http://stackoverflow.com/a/2704801/4252352 –
спасибо @MarkKeen это действие без пользовательского интерфейса не идет, где правильно? –
Я действительно не понимаю, что вы подразумеваете под 'go no where' - вы определяете, что делает ваша деятельность? –