desc:监听电池电量
parent
0883ef21c7
commit
12ea3e039b
Binary file not shown.
@ -0,0 +1,13 @@
|
|||||||
|
package com.yinuo.safetywatcher.watcher
|
||||||
|
|
||||||
|
import android.app.Application
|
||||||
|
import com.lztek.toolkit.Lztek
|
||||||
|
import com.yinuo.safetywatcher.watcher.utils.LztekUtil
|
||||||
|
|
||||||
|
class App : Application() {
|
||||||
|
|
||||||
|
override fun onCreate() {
|
||||||
|
super.onCreate()
|
||||||
|
// LztekUtil.setObject(Lztek.create(this))
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,55 @@
|
|||||||
|
package com.yinuo.safetywatcher.watcher.utils
|
||||||
|
|
||||||
|
import android.content.BroadcastReceiver
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.Intent
|
||||||
|
import android.content.IntentFilter
|
||||||
|
import android.os.BatteryManager
|
||||||
|
import android.util.Log
|
||||||
|
|
||||||
|
object BatteryHelper {
|
||||||
|
private var callbacks = mutableListOf<OnBatteryLevelCallback>()
|
||||||
|
private var mLevel = -1;
|
||||||
|
|
||||||
|
private val receiver = object : BroadcastReceiver() {
|
||||||
|
override fun onReceive(context: Context?, intent: Intent?) {
|
||||||
|
val level = intent?.getIntExtra(BatteryManager.EXTRA_LEVEL, -1)
|
||||||
|
mLevel = level!!
|
||||||
|
Log.i(this@BatteryHelper.javaClass.name, "onReceive level = $level")
|
||||||
|
callbacks.forEach {
|
||||||
|
if (level != null) {
|
||||||
|
it.onLevel(level)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun init(context: Context) {
|
||||||
|
watchBattery(context)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun watchBattery(context: Context) {
|
||||||
|
val filter = IntentFilter(Intent.ACTION_BATTERY_CHANGED)
|
||||||
|
context.registerReceiver(receiver, filter)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun addCallBack(callBack: OnBatteryLevelCallback) {
|
||||||
|
callbacks.add(callBack)
|
||||||
|
if (mLevel != -1) {
|
||||||
|
callBack.onLevel(mLevel)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun removeCallback(callBack: OnBatteryLevelCallback) {
|
||||||
|
callbacks.remove(callBack)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun release(context: Context) {
|
||||||
|
callbacks.clear()
|
||||||
|
context.unregisterReceiver(receiver)
|
||||||
|
}
|
||||||
|
|
||||||
|
interface OnBatteryLevelCallback {
|
||||||
|
fun onLevel(level: Int)
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
package com.yinuo.safetywatcher.watcher.utils
|
||||||
|
|
||||||
|
import com.lztek.toolkit.Lztek
|
||||||
|
|
||||||
|
object LztekUtil {
|
||||||
|
|
||||||
|
private var mLztek: Lztek? = null;
|
||||||
|
|
||||||
|
fun setObject(value: Lztek) {
|
||||||
|
mLztek = value
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getLztek(): Lztek {
|
||||||
|
return mLztek!!
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,49 @@
|
|||||||
|
package com.yinuo.safetywatcher.watcher.utils
|
||||||
|
|
||||||
|
import android.content.BroadcastReceiver
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.Intent
|
||||||
|
import android.content.IntentFilter
|
||||||
|
import android.net.wifi.WifiManager
|
||||||
|
import android.util.Log
|
||||||
|
|
||||||
|
object WifiHelper {
|
||||||
|
private var callbacks = mutableListOf<OnWifiLevelCallback>()
|
||||||
|
|
||||||
|
private val receiver = object : BroadcastReceiver() {
|
||||||
|
override fun onReceive(context: Context?, intent: Intent?) {
|
||||||
|
val wifiState = intent?.getIntExtra(WifiManager.EXTRA_WIFI_STATE, -1)
|
||||||
|
Log.i(this@WifiHelper.javaClass.name, "onReceive wifiState = $wifiState")
|
||||||
|
callbacks.forEach {
|
||||||
|
it.onEnable(wifiState == WifiManager.WIFI_STATE_ENABLED)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun init(context: Context) {
|
||||||
|
watchWifi(context)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun watchWifi(context: Context) {
|
||||||
|
val filter = IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION)
|
||||||
|
context.registerReceiver(receiver, filter)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun addCallBack(callBack: OnWifiLevelCallback) {
|
||||||
|
callbacks.add(callBack)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun removeCallback(callBack: OnWifiLevelCallback) {
|
||||||
|
callbacks.remove(callBack)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun release(context: Context) {
|
||||||
|
callbacks.clear()
|
||||||
|
context.unregisterReceiver(receiver)
|
||||||
|
}
|
||||||
|
|
||||||
|
interface OnWifiLevelCallback {
|
||||||
|
fun onEnable(enable: Boolean)
|
||||||
|
fun onLevel(level: Int)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue