我遇到AppWidgetManager::requestPinAppWidget
有时方法requestPinAppWidget
返回false。我们通过卸载应用程序并使用android studio从头重新安装来重现它。我们可以使用以下代码在Samsung和Pixel设备上一致地重现它:
@RequiresApi(Build.VERSION_CODES.O)
private fun showWidgetAddingActivity(context: Context) {
val appWidgetManager = context.applicationContext.getSystemService(AppWidgetManager::class.java)
val myProvider = ComponentName(context.applicationContext, WidgetActionsReceiver::class.java)
val launcherSupported = appWidgetManager.requestPinAppWidget(myProvider,null, null)
}
如果我们在全新安装后(或之后几分钟内)运行launcherSupported
,则其值为false
。在任何其他情况下均为true
在发生这种情况时,调用appWidgetManager.isRequestPinAppWidgetSupported始终返回true。
那是为什么?我该如何缓解呢?或者至少至少事先知道,所以我不会向用户显示其余流程
答案 0 :(得分:0)
这是由于WidgetActionsReceiver
在默认情况下被禁用引起的。使用功能标记启用该功能后,更改需要花费一些时间才能到达启动器。