如何检查某个小部件是否因系统不支持而无法安装?

问题描述 投票:0回答:1

要检查小部件是否放置在屏幕上,我使用此功能

override suspend fun checkWidgetsOnScreen(): Boolean =
        withContext(defaultDispatcher) {
            val glanceId = GlanceAppWidgetManager(applicationContext).getGlanceIds(SubscriptionsWidget::class.java).lastOrNull()
            return@withContext (glanceId != null)
        }

但有些情况下系统根本不支持小部件,例如在 Android Go 上。当系统不支持时,我不想建议用户将小部件放置在屏幕上。

我该如何检查?

android widget glance-appwidget
1个回答
0
投票

android.software.app_widgets
功能指示设备是否支持应用程序小部件,例如由 Glance 创建的小部件。您可以 使用
hasSystemFeature()
查看设备是否支持该功能:

context.packageManager.hasSystemFeature(PackageManager.FEATURE_APP_WIDGETS)

如果设备支持应用程序小部件,该片段将返回

true
,否则返回
false

如果您的应用程序由应用程序小部件主导,因此您只想将应用程序安装在支持应用程序小部件的设备上,您也可以将其添加到您的清单中:

<uses-feature android:name="android.software.app_widgets" android:required="true" />
© www.soinside.com 2019 - 2024. All rights reserved.