0

我在第一次启动时创建一个数据库,单击按钮我将在表中插入值。现在单击该按钮本身我将通过 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:我可以制作另一个按钮来启动服务,但我想一键完成所有活动,而不是破坏用户体验。

4

1 回答 1

0

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

于 2013-05-17T12:55:55.313 回答