Android-如何在首次推出应用程序后启动并保持服务运行?

时间:2013-05-17 12:43:23

标签: android android-service android-sqlite

我在第一次启动时创建了一个数据库,在按钮上单击我将在表中插入值。现在该按钮单击本身我将通过startService()方法启动服务,该服务将持续检查特定的列值表永远,直到我明确停止服务。我的问题是如何启动并保持此服务运行后,第一次插入点击我做?谢谢。

    Button save=(Button)findViewById(R.id.save);
    save.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
              //MainActivity ma=new MainActivity();
              event=spinner.getSelectedItem().toString();
              message=ed1.getText().toString();
              MainActivity.myDataBase.openDatabase("/data/data/package/databases/table", null,MainActivity.myDataBase.OPEN_READWRITE);
              MainActivity.myDataBase.execSQL("INSERT INTO " +
                MainActivity.tablename +
                        " Values ('"+ val1 +"','"+ val2 +"','"+ val3 +"','"+ val4 +"','"+ val5 +"');");

        }

    });
}

之后'插入'我想开始服务从我刚刚插入记录的表中“选择”一个特定的列,并让该服务永远运行。当按下我同样的按钮时,它不应该再次重启保存另一个回忆录。

PS:我可以创建另一个按钮来启动服务,但我希望一键完成所有活动,而不会损害用户体验。

2 个答案:

答案 0 :(得分:0)

您需要对Service类进行子类化,并使用startService调用它。如果您已成功完成此操作,则无需执行其他步骤。但是,Android可能会暂时关闭它以保留资源,因此如果您希望降低发生这种情况的可能性,请在启动后调用该服务的startForeground方法。

答案 1 :(得分:0)

浏览此链接。它准确地解释了你想要做什么。

Android Services tutorial