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

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

我知道我可以添加一个应用程序小部件,但如何添加更多?

  • Android模拟器显示主屏幕颠倒镜像和locking(为什么?)
  • Android中的“添加到主屏幕”button不会将网站显示为Web应用程序
  • Android主屏幕快捷方式权限错误
  • 如何在应用程序安装时将应用程序的快捷方式添加到主屏幕?
  • 检测具有窗口的服务内的导航button的触摸事件
  • 检查小工具放置在Android屏幕上
  • 如何检查我的应用程序是否是默认的启动器
  • 从应用程序不可能在主屏幕上放置一个小部件。 只有主屏幕可以将应用程序小部件添加到主屏幕。

    类似的链接link1 , link2 , link3

    但是你可以提供用户从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文件中创build小部件,然后使用AppWidgetManager来请求将小部件固定到启动器。 请注意,由启动程序支持此function,所以在请求固定它之前,您必须调用AppWidgetManager的isRequestPinAppWidgetSupported()方法。

    以下是Google的一些文档,详细介绍如下: https : //developer.android.com/preview/features/pinning-shortcuts-widgets.html#widgets

    希望这可以帮助!

    AFAIK默认启动程序的应用程序不支持这一点。 原因是用户应该把所有东西放在主屏幕上。 允许从应用程序中放置小部件将为应用程序打开“入侵”用户家的“有用”小部件的大门。