Android 如何以编程方式在主屏幕上显示小部件

Android 如何以编程方式在主屏幕上显示小部件,android,android-widget,android-intent,Android,Android Widget,Android Intent,在编程方面,我试图将一个小部件显示在主屏幕上,但在通过intent&调用startActivity(pickIntent)传递小部件ID时遇到了问题。小部件列表即将出现,但我开发的小部件没有被选中 final int[] appWidgetIds = appWidgetManager.getAppWidgetIds(component); Intent intent = getIntent(); Bundle extras = intent.getExtras();

在编程方面,我试图将一个小部件显示在主屏幕上,但在通过intent&调用
startActivity(pickIntent)
传递小部件ID时遇到了问题。小部件列表即将出现,但我开发的小部件没有被选中

final int[] appWidgetIds = appWidgetManager.getAppWidgetIds(component);
Intent intent = getIntent();
        Bundle extras = intent.getExtras();
        if (extras != null) {
            mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID,
                    AppWidgetManager.INVALID_APPWIDGET_ID);
}
我在这里得到了
extras=null
。因此,我尝试将小部件ID分配为
WidgetId=mAppwidgetHost.allocateAppWidgetId()

通过意向书发送:

Intent pickIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK);
        pickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, WidgetId);
        startActivity(pickIntent);
但我的小部件仍然没有被选中。
任何人都可以让我知道如何在没有任何用户交互的情况下在主屏幕上显示小部件。提前感谢。

您不能这样做:标准的小部件选择器不允许您指定特定的小部件。

您能告诉我,是否有任何方法可以模拟从列表中选择特定小部件的用户交互?目前无法模拟用户交互:我花了一天的时间搜索一个小部件这个问题的答案。这将是一个很好的用户界面改进(一键小部件安装),但不幸的是,当您发送意图(at)时启动的活动没有提供一种方法来实际强制它选择特定的小部件。应用程序CM flashlite是如何做到这一点的,it asds主屏幕小部件在安装过程中,您是否找到了复制CM Flashlite的解决方案?