🐷
AndroidのウィジェットをあるSDK以上だけ出したい場合
Android12以上だけでウィジェット機能を出したい
個人的に古いOSのホーム画面を信じてません。以前、ウィジェットの運用で苦労した経験があるので、なるべく最近のSDKだけを対象にしたいです。
そんなときのTipsです。最初から限定したい場合に有用だと思います。
ウィジェットを機能を提供する前に以下のように実装すると簡単に対応できます。enabledをfalseにしておきます
AndroidManifest.xml
・・・
<receiver android:name=".MyGlanceAppWidgetReceiver"
android:exported="true"
+ android:enabled="false"
>
以下のようにSDK12以上で有効化します。
class App :Application() {
override fun onCreate() {
super.onCreate()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
val pm = applicationContext.packageManager
val componentName = ComponentName("com.ko2ic.spike.glance", "com.ko2ic.spike.glance.MyGlanceAppWidgetReceiver")
pm.setComponentEnabledSetting(
componentName,
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.DONT_KILL_APP
)
}
}
}
ソーシャル経済メディア NewsPicks メンバーの発信を集約しています。公式テックブログはこちら→ tech.uzabase.com/archive/category/NewsPicks
Discussion