我的初始目标是将Google搜索小部件添加到活动的线性布局中。我需要像在启动器中一样添加并工作,这就是为什么我需要能够添加小部件的原因。
我想在不必启动小部件选择器活动的情况下向我的活动添加小部件。我尝试过:
1. 直接指定整数ID(我总是得到膨胀错误)
2. 像这样获取ID:
ComponentName cn = new ComponentName(getBaseContext(), "com.android.quicksearchbox.SearchWidgetProvider");
int[] ids = AppWidgetManager.getInstance(getApplicationContext()).getAppWidgetIds (cn);
这个数组总是为空。
这些都不起作用。
接下来,我有这段代码,用于使用ID(如果我从小部件选择器活动中获取ID,则有效):
AppWidgetProviderInfo withWidgetInfo = AppWidgetManager.getInstance(getApplicationContext()).getAppWidgetInfo(appWidgetId);
AppWidgetHostView hostView = myWidgetHost.createView(getBaseContext(), appWidgetId, withWidgetInfo);
hostView.setAppWidget(appWidgetId, withWidgetInfo);
LinearLayout ll = (LinearLayout) findViewById(R.id.ll);
ll.addView(hostView);
我该怎么做呢?谢谢!
appWidgetManager.bindAppWidgetId();
只能由系统应用程序执行,对吗?即使我正在寻找解决方法,你能帮忙吗? - Kamran Ahmed