0

我想知道为什么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);
    }

}
4

3 回答 3

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>
于 2013-08-05T08:12:41.320 回答
0

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

尝试制作一个虚拟活动,用于配置或应用程序介绍。


除此之外,将日志语句放入BroadcastReceiver和放入的想法Service是一个很好的想法。

还要确认您已遵循djodjo 的建议,因为这些也是正确的。

于 2013-08-05T08:51:39.493 回答
0

在java文件中添加以下行

意图.addFlags(意图.FLAG_ACTIVITY_NEW_TASK);

它应该可以工作。

于 2013-08-05T08:36:28.500 回答