如何正确构建Android后台服务

时间:2014-10-23 03:37:07

标签: android service

我想为来自MySQL数据库的检查数据构建一个android后台服务。通常我从Service类做扩展,当启动应用程序时,我使用startService()方法运行服务。但问题是如果我从任务管理器,服务也停止了。另一件事是我想在启动设备时启动这项服务,我的意思是开始。我如何实现这一点。帮助我。

1 个答案:

答案 0 :(得分:0)

当你杀死你的应用程序时,该服务将重新启动,而不是被删除。您可以在服务重新启动时删除标志以定义断点,并写一些' if' '否则'在这个断点之后做事。  如果你想在启动设备时启动服务,只需创建broadcastReceive调用' autoStart'。  在清单中:

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

并在autoStart类中:

 public class autoStart extends BroadcastReceiver 
{
    public void onReceive(Context ctx, Intent arg1) 
    {
        Intent intent = new Intent(ctx,yourservice.class);
        ctx.startService(intent);
        Log.i("Autostart", "started");
    }
}

启动设备时,系统会在启动时检测到,并调用此autoStart BroadcastReceive,并从此处调用您的服务