Я хочу добавить виджет приложения поиска по умолчанию в представление внутри моего приложения. Точно так же, как домашний экран, но без перетаскивания, и я хочу, чтобы рабочее пространство было размером 4x1.
Как я могу это сделать? Я просмотрел исходники лаунчера, но его нужно понять и удалить, потому что я хочу, чтобы он был как можно проще...
Я знаю, что могу получить имя компонента виджета следующим образом:
private ComponentName getSearchWidgetProvider() {
SearchManager searchManager = (SearchManager) mContext.getSystemService(Context.SEARCH_SERVICE);
ComponentName searchComponent = null;
searchManager.getSearchableInfo(searchComponent);
if (searchComponent == null) return null;
return getProviderInPackage(searchComponent.getPackageName());
}
private ComponentName getProviderInPackage(String packageName) {
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(mContext);
List<AppWidgetProviderInfo> providers = appWidgetManager.getInstalledProviders();
if (providers == null) return null;
final int providerCount = providers.size();
for (int i = 0; i < providerCount; i++) {
ComponentName provider = providers.get(i).provider;
if (provider != null && provider.getPackageName().equals(packageName)) {
return provider;
}
}
return null;
}
Итак, как я могу добавить его в представление (скажем, LinearView) самым простым способом...
Спасибо!