onCreate没有调用android服务

我想以静态方式启动服务.所以从我的活动中我打电话

SpeechActivationService.makeStartServiceIntent(
               this.getApplicationContext(),
               "WordActivator");

这是从服务类http://dpaste.com/hold/928115/扩展的实际类.正如您所看到的,有几个日志点,例如在onCreate方法中.

这不会被记录.只有当我在makeStartServiceIntent方法中放入日志文本时,它才出现,但不在onCreate方法中.

这是makeStartServiceIntent方法:

public static Intent makeStartServiceIntent(Context context,
        String activationType) {        
    Intent i = new Intent(context, SpeechActivationService.class);
    i.putExtra(ACTIVATION_TYPE_INTENT_KEY, activationType);
    return i;
}

在清单文件中我有

<service android:name="root.gast.speech.activation.SpeechActivationService"/>

有没有为什么服务没有开始的想法?

最佳答案
你的makeStartService()只是为你创建一个Intent.您似乎并没有实际启动该服务.试试这样吧

Intent i = SpeechActivationService.makeStartServiceIntent(this,"WordActivator");
startService(i);

请注意,如果this.getApplicationContext()有效,则您可能已经在Context对象中,因此使用它也应该可以工作.

转载注明原文:onCreate没有调用android服务 - 代码日志