是否有可能找出Android小部件是否放置在锁定屏幕或主屏幕上?

时间:2013-04-02 22:57:21

标签: android

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

1 个答案:

答案 0 :(得分:5)

以下是documentation的相关摘要:

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

返回的包将包含密钥OPTION_APPWIDGET_HOST_CATEGORY,其值为WIDGET_CATEGORY_HOME_SCREENWIDGET_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;