首页 > 解决方案 > Android广播接收器在应用程序未运行或未启动时甚至在运行时都不会触发

问题描述

即使应用程序未运行或在手机充电时未启动,我也在尝试执行后台任务。但是 onReceive 方法中的代码没有运行。

这是清单:

<receiver
        android:name=".ChargingBroadcastReceiver"
        android:enabled="true">
     <intent-filter>
        <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
        <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
     </intent-filter>
  </receiver>

ChargingBroadcastReceiver 类:

class ChargingBroadcastReceiver : BroadcastReceiver() {

   override fun onReceive(context: Context, intent: Intent) {
      // This method is called when the BroadcastReceiver is receiving an Intent broadcast.
      Toast.makeText(context.applicationContext, "Test", Toast.LENGTH_LONG).show()
      Log.e("Test", "method onReceive()")
   }
}

我不知道出了什么问题。

有什么方法可以触发这些操作(POWER_CONNECTED 和 POWER_DISCONNECTED)并在 onReceive 方法中运行后台任务,而无需直接从 App Launcher 启动或启动应用程序?

标签: android

解决方案


推荐阅读