从fragment启动IntentService

时间:2013-09-11 10:00:05

标签: android 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;
}

我的意图服务类是:

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,因为我想一次执行一个任务,但我无法理解如何。 这里有什么帮助,最好的代码实现是什么?

1 个答案:

答案 0 :(得分:8)

在manifest.xml中声明服务