android - 在 Android 中创建服务

标签 android android-service

我正在创建我的第一个 Android 应用程序,我需要使用一项服务。 UI 将有一个复选框 (CheckBoxPreference),用于打开/关闭服务,并且该服务将仅由我的应用程序访问(无需共享)。

到目前为止,此功能的 UI 已准备就绪,我知道如何响应事件。我不知道如何创建服务或如何连接到它?

想法是该服务继续监听事件并在后台响应它们,并且该应用程序仅用于打开/关闭它或更改某些设置。

我在网上找过教程,但我似乎不明白这个过程。

最佳答案

CheckBox checkBox =
    (CheckBox) findViewById(R.id.check_box);
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (isChecked) {
            startService(new Intent(this, TheService.class));
        }
    }
});

和服务:

public class TheService extends Service {   

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public void onCreate() {
        Toast.makeText(this, "Service created!", Toast.LENGTH_LONG).show();
    }

    @Override
    public void onDestroy() {
        Toast.makeText(this, "Service stopped", Toast.LENGTH_LONG).show();
    }

    @Override
    public void onStart(Intent intent, int startid) {
        Toast.makeText(this, "Service started by user.", Toast.LENGTH_LONG).show();
    }
}

关于android - 在 Android 中创建服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4360074/

相关文章:

java - Unresolved 类 'FileProvider'

android - 我有一个 map fragment Activity ,我想将其转换为 fragment

android - 有没有办法处理小部件/服务中的关键事件?

android - 并发写入android数据库(来自多个服务)?

java - 服务启动时尝试调用位置权限但应用程序崩溃

android - 使用 AmrInputStream 将 PCM-16 转换为 AMR

android - 应用程序在java.lang.NullPointerException上崩溃:

android - 当应用程序进入后台时服务停止

android - 无法使用服务上下文使用 Material 组件来膨胀布局

java - 执行顺序困惑