我有一个应用程序,它在后台运行一项服务,该服务收集数据。可以在插入USB充电器时启动该服务,而在拔出USB充电器时停止该服务吗?
答案 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))
}
}
}