3

是否可以确定 android 小部件是放在锁定屏幕还是主屏幕上?我想它在广播提供商的某个地方,所以我可以找出用户如何在 4.2+ 上使用它。

4

1 回答 1

5

以下是文档中的相关片段:

getAppWidgetOptions()“您可以通过调用将小部件的选项作为捆绑包来检测您的小部件是在键盘锁(锁屏)还是主屏幕上。

返回的包将包含 key OPTION_APPWIDGET_HOST_CATEGORY,其值为WIDGET_CATEGORY_HOME_SCREENor之一WIDGET_CATEGORY_KEYGUARD。"

AppWidgetManager appWidgetManager;
int widgetId;
Bundle myOptions = appWidgetManager.getAppWidgetOptions (widgetId);

// Get the value of OPTION_APPWIDGET_HOST_CATEGORY
int category = myOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_HOST_CATEGORY, -1);

// If the value is WIDGET_CATEGORY_KEYGUARD, it's a lockscreen widget
boolean isKeyguard = category == AppWidgetProviderInfo.WIDGET_CATEGORY_KEYGUARD;

“一旦您知道了小部件的类别,您就可以选择加载不同的基本布局、设置不同的属性等等。例如:”

int baseLayout = isKeyguard ? R.layout.keyguard_widget_layout : R.layout.widget_layout;
于 2013-04-03T00:29:55.197 回答