服务启动时启动无法正常工作

时间:2013-08-05 07:52:31

标签: java android service boot

我想知道为什么在设备完成启动时Service无法启动。 我希望当设备启动时,Service启动,但这不会发生,因为启动它我必须先打开应用程序。

到目前为止,这是我的代码:

public class BootService extends BroadcastReceiver{

    Intent intent;

    @Override
    public void onReceive(Context context, Intent intent2) {
        intent = new Intent(context, MyService.class);
        context.startService(intent);
    }

}

3 个答案:

答案 0 :(得分:1)

是否调用了BootService?

要在引导完成时触发BootService,您需要添加清单:

1)

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

2)

 <receiver android:name="BootService" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>

答案 1 :(得分:0)

在java文件中添加以下行

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

它应该适用。

答案 2 :(得分:0)

要让您的应用程序接收android.intent.action.BOOT_COMPLETED意图,您需要先在设备上运行Activity

尝试制作虚拟活动,配置或应用介绍。


除此之外,将日志语句放入BroadcastReceiverService的想法是个好主意。

同时确认您已关注djodjo's suggestions,因为这些也是正确的。