You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 15下Widget无法更新:onUpdate方法未触发问题求助

问题:升级compileSdk/targetSdkVersion至35后Widget停止更新

将compileSdk和targetSdkVersion升级到35后,我的应用Widget停止更新,AppWidgetProvider的onUpdate方法完全没被调用。我查了Android 15的变更记录,没找到相关原因。把targetSdkVersion改回34后,在Android 14的真机和模拟器上Widget能正常更新,但Android 15设备上还是不行;只有当compileSdk和targetSdkVersion都设为34时,所有设备才能正常工作。


代码实现

抽象基类BaseWidgetProvider

abstract class BaseWidgetProvider : AppWidgetProvider(), KoinComponent {

    companion object {
        const val WIDGET_NAME = "widget_name"
    }

    abstract fun getWidgetInfo(): Bundle

    override fun onEnabled(context: Context?) {
        super.onEnabled(context)
        logFirebaseEvent(context!!, WIDGET_ADDED, getWidgetInfo())
    }

    override fun onDisabled(context: Context?) {
        super.onDisabled(context)
        logFirebaseEvent(context!!, WIDGET_REMOVED, getWidgetInfo())
    }

    override fun onUpdate(
        context: Context, appWidgetManager: AppWidgetManager,
        appWidgetIds: IntArray
    ) {
        Log.e("EEE", "onUpdate")
        updateWidgets(context)
    }
}

AppWidget Provider配置文件

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:initialLayout="@layout/widget_original_layout"
    android:configure="com.packagename.widget.WidgetSettingsActivity"
    android:minHeight="52dp"
    android:minWidth="160dp"
    android:resizeMode="horizontal|vertical"
    android:previewImage="@drawable/original_widget_preview"
    android:updatePeriodMillis="1800000" >

</appwidget-provider>

Manifest中的接收器声明

<receiver
    android:name=".SunWidgetProvider"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:exported="false">
    <intent-filter>
        <action android:name="android.intent.action.DATE_CHANGED" />
        <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    </intent-filter>

    <meta-data
        android:name="android.appwidget.provider"
        android:resource="@xml/original_widget" />
</receiver>

内容的提问来源于stack exchange,提问作者user3407078

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 20:33:26