2013-09-11 2 views
1

Я пытаюсь запустить IntentService с вкладки фрагмента, но у меня нет ответа. код из моего фрагмента ниже:Запуск IntentService из фрагмента

private Intent prepareIntent(boolean isSending) { 
    Intent localIntent = new Intent(getActivity(), StartIActivity.class); 
    Log.d(THIS_FILE, "StartIActivity"); 
    localIntent.putExtra("incoming", isSending); 
    localIntent.putExtra("remote_contact", setValidNumber(callUri)); 
    localIntent.putExtra("acc_id", this.accId); 
    return localIntent; 
} 

private void startIAService(boolean bool) { 
    Log.d(THIS_FILE, "Start Service"); 
    Context ctx = (Context) myFragment.this.getActivity(); 
    ctx.startService(prepareIntent(bool)); 
    return; 
} 

и мое намерение ServiceClass является:

public class StartIActivity extends IntentService { 
    public StartIActivity() { 
     super("StartIActivity"); 
    } 

    protected void onHandleIntent(Intent it) { 
     Intent intent = new Intent(it); 
     intent.setClass(this, Activity.class); 
     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     startActivity(intent); 
     Log.d("IActivity", "Start Activity"); 
    } 
} 

При запуске startIAservice prepereIntent запускается, но не может запустить службу. Мне нужно использовать IntentService, потому что я хочу выполнять одну задачу за раз, но я не могу понять, как это сделать. Любая помощь здесь и в чем заключается наилучшая реализация кода для этого?

+2

Вы добавили услугу манифеста? – user755

+0

Ох! Я забыл это. Thanx !! ты сделал мой день!! – user2699406

+0

Еще один вопрос. Можете ли вы направить меня, если я хочу инкапсулировать намерение в синхронизированный блок try-finally? – user2699406

ответ

8

Заявить об обслуживании в manifest.xml

+1

Я просто чувствовал себя глупым! – Darpan

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