手持ちのGalaxyS20のソフトウェアをアップデートしたところ、ウィジェットが更新されなくなる事象を確認。
アップデートver:SP1A.210812.016.SC51AaOMU1CVK3
原因がはっきりしないが、Manifestのreceiverに
android:process=":remote"
を入れたら正常に受信できるようになった。
これはプロセス名をデフォルトから変更するオプションであり、他のサイトには意味のない構文であるという記事が多数あるので入れていなかったが、実は意味があるのか?と思ったり。
AndroidManifest.xml
<receiver android:name=".PressureAlertWidget"
android:process=":remote"
android:exported="true">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/pressure_alert_widget_info" />
</receiver>
※2023/8/25 追記:
targetSdkを34に上げたところ、またウィジェットが更新されない状況が再発した。
色々試したが、プロジェクトのbuild.gradleで、kotlinバージョンを最新にしたところ、なぜか問題が解消した。
buildscript {
ext.kotlin_version = "1.6.21"
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.15'
}
}
やっぱりなぜ解消されたのかよくわからない。。。なぜkotlinバージョン。
とりあえず、ウィジェットが更新されない事象が発生した際は試していただくと良いかもしれないです。
Comments