Android – 将AppWidgets添加到活动

Android – 将AppWidgets添加到活动,第1张

概述我的初始目标是将Google搜索小部件添加活动的线性布局.我需要包括它就像它出现和工作在Launcher(这就是为什么我需要能够添加的小部件). 我想在我的活动中添加小部件,而不必启动小部件选择器活动.我尝试过了:  直接指定一个整数id(我总是收到充气错误)  2.得到这样的id: ComponentName cn = new ComponentName(getBaseContext(), " 我的初始目标是将Google搜索小部件添加到活动的线性布局.我需要包括它就像它出现和工作在Launcher(这就是为什么我需要能够添加的小部件).

我想在我的活动中添加小部件,而不必启动小部件选择器活动.我尝试过了:
直接指定一个整数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);

我该怎么办?谢谢!

解决方法 尝试这个:
// APPWidget_HOST_ID is any number you likeappWidgetManager = AppWidgetManager.getInstance(this);appWidgetHost = new AppWidgetHost(this,APPWidget_HOST_ID);appwidgetproviderInfo newappwidgetproviderInfo = new appwidgetproviderInfo();// Get an IDint appWidgetID = appWidgetHost.allocateAppWidgetID();// Get the List of installed WidgetsList<appwidgetproviderInfo> appWidgetInfos = new ArrayList<appwidgetproviderInfo>();appWidgetInfos = appWidgetManager.getInstalledProvIDers();for(int j = 0; j < appWidgetInfos.size(); j++){    if (appWidgetInfos.get(j).provIDer.getPackagename().equals("com.androID.quicksearchBox") && appWidgetInfos.get(j).provIDer.getClassname().equals("com.androID.quicksearchBox.SearchWidgetProvIDer"))    {        // Get the full info of the required Widget        newappwidgetproviderInfo = appWidgetInfos.get(j);        break;    } }// Create WidgetAppWidgetHostVIEw hostVIEw = appWidgetHost.createVIEw(this,newappwidgetproviderInfo);hostVIEw.setAppWidget(appWidgetID,newappwidgetproviderInfo);// Add it to your layoutlinearLayout ll = (linearLayout) findVIEwByID(R.ID.ll);ll.addVIEw(hostVIEw);
总结

以上是内存溢出为你收集整理的Android – 将AppWidgets添加到活动全部内容,希望文章能够帮你解决Android – 将AppWidgets添加到活动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1132805.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存