如何从我的应用程序将小部件添加到Android主屏幕?

2022-09-02 02:43:09

我正在编写一个应用程序,当用户指示我的应用程序这样做时,它应该能够将小部件(只是文本框)添加到用户手机的主屏幕。我怎么能做这样的事情?

我知道我可以添加应用程序小部件,但添加更多小部件怎么样?


答案 1

应用程序无法在主屏幕中放置小部件。只有主屏幕可以将应用程序小部件添加到主屏幕。

类似链接 链接1链接2链接3

但是,您可以为用户提供从widgetpicker中选择widget。

    Intent pickIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK);
    pickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetID);
    startActivityForResult(pickIntent, KEY_CODE);

答案 2

这个问题很久以前就已经回答过了,但是如果有人偶然发现这个问题,我认为我应该提供一个最新的答案。

从 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


推荐