按程序安装主屏幕小部件

时间:2010-11-03 07:07:28

标签: android android-widget homescreen

我的应用程序中有主要活动窗口,其上显示三个图标,此应用程序中还有3个主屏幕小部件。

是否有可能长按主活动中的某个图标,以执行与在桌面上拖动快捷方式时从应用程序菜单安装程序快捷方式相同的行为?(例如,此视频:{ {3}}) 或者用户必须转到主屏幕\ menu \ add \ widget ??

2 个答案:

答案 0 :(得分:4)

用户必须手动安装应用小部件。由于小部件需要定位 - 因此用户没有强制使用应用小部件 - 用户必须选择将其添加到主屏幕。

答案 1 :(得分:0)

在Android O中,可以通过编程方式设置应用小部件。

AppWidgetManager mAppWidgetManager =
    context.getSystemService(AppWidgetManager.class);

AppWidgetProviderInfo myWidgetProviderInfo = new AppWidgetProviderInfo();
ComponentName myProvider = myWidgetProviderInfo.provider;

if (mAppWidgetManager.isRequestPinAppWidgetSupported()) {
  // Create the PendingIntent object only if your app needs to be notified
  // that the user allowed the widget to be pinned. Note that, if the pinning
  // operation fails, your app isn't notified.
  Intent pinnedWidgetCallbackIntent = new Intent( ... );

  // Configure the intent so that your app's broadcast receiver gets
  // the callback successfully. This callback receives the ID of the
  // newly-pinned widget (EXTRA_APPWIDGET_ID).
  PendingIntent successCallback = PendingIntent.createBroadcast(context, 0,
          pinnedWidgetCallbackIntent);

  mAppWidgetManager.requestPinAppWidget(myProvider, null,
           successCallback.getIntentSender());
}

另请查看Google官方documentation