android - 是否有可能找出 android 小部件是放在锁定屏幕还是主屏幕上?

标签 android

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

最佳答案

以下是来自 documentation 的相关 fragment :

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

返回的包将包含键 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;

关于android - 是否有可能找出 android 小部件是放在锁定屏幕还是主屏幕上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15775919/

相关文章:

android - 如何在 BaseAdapter 中添加 DialogFragment?

android - 如何在 Android-x86 中从命令行启动 GUI

android - ACRA - 在没有任何崩溃对话框的情况下静默发送崩溃报告

java - 转换为 Dalvik 失败 - 某处未初始化的变量

android - 动态自动完成 TextView 建议消失

android - 谷歌分析推荐人 Activity

android - 如何在我的 Android 手机上运行 Eclipse Helios 项目?

android - 如何从 fresco(facebook 的 android lib)中排除 arm64-v8a 目录

Android:检查 fragment 是否可见

Android 风格应用 minSdkVersion ="8"targetSdkVersion ="21"