相关疑难解决方法(0)

17
推荐指数
3
解决办法
2万
查看次数

如何收听已连接电源的 Android > 8

我有一个简单的 Android Kotlin 应用程序,它的部分功能是在连接和断开电源并执行操作时进行监听

这是我的旧代码,它在针对 Oreo 以下的设备时运行良好。

AndroidManifest.xml

<receiver android:name=".ChargingUtil$PlugInReceiver">
    <intent-filter>
        <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
        <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
    </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

充电实用程序

class ChargingUtil (context: Context){

    /*... Some other charging-related functions here ... */

    class PlugInReceiver : BroadcastReceiver() {

        override fun onReceive(context: Context, intent: Intent) {
            Log.d("thisistest", "Power was changed")
            // Here I do some logic with `intent.action`
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在以后的 Android 版本中,如何实现广播有一些变化:https : //developer.android.com/guide/components/broadcasts

到目前为止我尝试过的:

  • 我尝试遵循此文档,但它们的实现实际上与我当前的代码相同(仅适用于 Android 8 以下)。
  • 我也发现了这个问题,但唯一的解决方案是定期检查电源是否已连接。我认为这对我来说不太可行,因为我的应用程序需要立即知道充电状态何时发生变化。

所以我的问题是:

连接/断开电源时如何调用函数?同时考虑到运行 Android 8 …

android kotlin

4
推荐指数
2
解决办法
2165
查看次数

标签 统计

android ×2

android-sensors ×1

kotlin ×1

sensor ×1

temperature ×1