我正在编写一个应用程序,当用户指示我的应用程序这样做时,它应该能够将小部件(只是文本框)添加到用户手机的主屏幕。我怎么能做这样的事情?
我知道我可以添加一个应用小部件,但是添加更多呢?
我正在编写一个应用程序,当用户指示我的应用程序这样做时,它应该能够将小部件(只是文本框)添加到用户手机的主屏幕。我怎么能做这样的事情?
我知道我可以添加一个应用小部件,但是添加更多呢?
无法从应用程序将小部件放置在主屏幕中。只有主屏幕可以将应用小部件添加到主屏幕。
但是您可以让用户从 widgetpicker 中选择小部件。
Intent pickIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK);
pickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetID);
startActivityForResult(pickIntent, KEY_CODE);
这是很久以前回答的,但如果有人偶然发现这个问题,我认为我应该提供一个最新的答案。
从 Android O (API 26) 开始,您现在可以将小部件从您的应用程序固定到用户的启动器!
只需在应用程序的 AndroidManifest 文件中创建小部件并使用AppWidgetManager请求将小部件固定到启动器。请注意,是否支持此功能取决于启动器,因此您必须在请求固定之前调用 AppWidgetManager 的isRequestPinAppWidgetSupported()方法。
以下是来自 Google 的一些更详细的文档:https ://developer.android.com/preview/features/pinning-shortcuts-widgets.html#widgets
希望这可以帮助!
编辑:自从我发布此答案以来,文档页面似乎发生了变化。这是一个更有用的链接,它提供了如何将小部件固定到启动器的代码示例:https ://developer.android.com/guide/topics/appwidgets/#Pinning
AFAIK 默认启动器应用程序不支持此功能。原因是用户应该自己将所有内容放在主屏幕上。允许从应用程序中放置小部件将为应用程序使用其“有用的”小部件向用户的家“发送垃圾邮件”打开大门。