服务POWER_CONNECTED&POWER_DISCONNECTED。可能吗?

时间:2018-08-16 15:41:47

标签: java android service background

我有一个应用程序,它在后台运行一项服务,该服务收集数据。可以在插入USB充电器时启动该服务,而在拔出USB充电器时停止该服务吗?

1 个答案:

答案 0 :(得分:0)

是的,可以。只需注册两个动作的接收者:

registerReceiver(yourReceiver, IntentFilter().apply{
    addAction(Intent.ACTION_POWER_CONNECTED)
    addAction(Intent.ACTION_POWER_DISCONNECTED)
}

在您的onReceive中:

override fun onReceive(context: Context, intent: Intent) {
    when (intent.action) {
        Intent.ACTION_POWER_CONNECTED -> {
            startService(Intent(context, ServiceClassName::class.java))
        }
        Intent.ACTION_POWER_DISCONNECTED -> {
            stopService(Intent(context, ServiceClassName::class.java))
        }
    }
}