gpt4 book ai didi

android - 在小米的 miui (Poco x3) 中启动广播接收器不工作

转载 作者:行者123 更新时间:2023-12-04 15:07:57 26 4
gpt4 key购买 nike

我知道之前已经问过很多类似的问题,但无论我尝试过什么解决方案,我都无法解决。

我有一个如下所示的广播接收器代码。

class OnBootBroadcast : BroadcastReceiver() {

override fun onReceive(context: Context?, intent: Intent?) {
logD("onReceive() started -> intent action: [${intent?.action}]")

// this is only to test if on boot broadcast is working
context?.let {
val i = Intent()
i.setClass(it, MainActivity::class.java)
i.flags = Intent.FLAG_ACTIVITY_NEW_TASK;
it.startActivity(i);
}
// tried to test by adding notification as well, didn't show

// do stuff here
}
}

我的 list 文件是这样的

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

<application
android:name=".CustomApplication"
android:allowBackup="true"
android:fullBackupContent="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".view.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<receiver android:name=".broadcast.NotificationBroadcast" />
<receiver
android:name=".broadcast.OnBootBroadcast"
android:enabled="true" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
</receiver>

<provider
android:name="androidx.work.impl.WorkManagerInitializer"
android:authorities="${applicationId}.workmanager-init"
tools:node="remove" />
</application>

我知道像 MIUI 这样的中国定制 ROM 会杀死应用程序的后台服务。为了解决这个问题,我尝试了以下方法。

  1. 在“安全”>“管理应用”中打开“自动启动”解决了通过滑动关闭应用程序时工作管理器后台服务不工作的问题。但是没有解决广播问题。

  2. 在“设置”>“电池和性能”>“应用省电”中设置“无限制”

我正在尝试使用开机广播重新添加一些警报管理器以提供准确的定时通知。如果有一些替代方案可以实现这一点,那么该信息也将不胜感激。

提前致谢:)

最佳答案

我的 Mi 手机遇到了完全相同的问题。我尝试了许多建议的解决方案,但没有奏效。所以我有点得意忘形,将所有可能的 BOOT_COMPLETE 触发器添加到我的 intent-filter 并且它起作用了。

        <receiver android:name=".receiver.BootReceiver"
android:enabled="true"
android:exported="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.ACTION_BOOT_COMPLETED" />
<action android:name="android.intent.action.REBOOT" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<action android:name="com.htc.intent.action.QUICKBOOT_POWERON" />
<action android:name="android.intent.action.ACTION_SHUTDOWN" />
</intent-filter>
</receiver>

关于android - 在小米的 miui (Poco x3) 中启动广播接收器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65740774/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com