【发布时间】:2011-07-12 05:20:03
【问题描述】:
我试图以编程方式在主屏幕上显示一个小部件,但在通过意图传递小部件 ID 并调用 startActivity(pickIntent) 时遇到问题。小部件列表即将出现,但我开发的小部件没有被选中。
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);
但我的小部件仍然没有被选中。 谁能告诉我如何在没有任何用户交互的情况下在主屏幕上调出一个小部件。提前致谢。
【问题讨论】:
标签: android android-widget android-intent