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

SIr*_*lot 3 android

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

Ste*_*zyk 5

以下是文档中的相关摘要:

"您可以通过调用getAppWidgetOptions()将小部件的选项作为Bundle 来检测您的小部件是否在键盘锁(锁屏)或主屏幕上.

返回的包将包含密钥OPTION_APPWIDGET_HOST_CATEGORY,其值为WIDGET_CATEGORY_HOME_SCREEN或之一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;
Run Code Online (Sandbox Code Playgroud)

"一旦了解了窗口小部件的类别,就可以选择加载不同的基本布局,设置不同的属性等等.例如:"

int baseLayout = isKeyguard ? R.layout.keyguard_widget_layout : R.layout.widget_layout;
Run Code Online (Sandbox Code Playgroud)