android添加小工具,android-我可以将已安装的应用中的小部件添加到我的应用活动中...

我正在尝试为设备开发android应用程序(设备不是平板电脑或手机,它是运行Android 4.1.1的预先配置的android板),并且其中一项活动需要显示自定义的仪表板,其中包含多种信息,如下所示

此处显示的信息类型是预先配置的.我打算从头开始开发所有具有小部件(例如天气和日历)并在版式中包含小部件的应用,而不是从头开始开发所有这些.

我参考了以下链接

我完成了大部分代码.

public class MainActivity extends Activity {

private AppWidgetManager mAppWidgetManager;

private AppWidgetHost mAppWidgetHost;

static final int APPWIDGET_HOST_ID = 2037;

private AppWidgetHostView widgets[] = new AppWidgetHostView[16];

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

mAppWidgetManager = AppWidgetManager.getInstance(this);

mAppWidgetHost = new AppWidgetHost(this, APPWIDGET_HOST_ID);

setContentView(r.id.layout_main);

****here is where I am stuck??****

int [] ids = AppWidgetManager.getInstance(context).getAppWidgetIds(name);

mAppWidgetHost.startListening();

}

但是卡住的地方是,如何指定窗口小部件管理器以获取所需的特定窗口小部件.假设我对小部件感兴趣

“ com.android.deskclock / com.android.alarmclock.AnalogAppWidgetProvider”

请指教.

更新:

我添加了以下代码

mAppWidgetManager = AppWidgetManager.getInstance(this);

mAppWidgetHost = new AppWidgetHost(this, APPWIDGET_HOST_ID);

int appWidgetId = mAppWidgetHost.allocateAppWidgetId();

ComponentName name = new ComponentName("com.android.deskclock","com.android.alarmclock.AnalogAppWidgetProvider");

int [] ids = mAppWidgetManager.getAppWidgetIds(name);

if(ids != null && ids.length>0){

System.err.println("Number of widget ids :"+ids.length);

AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(ids[0]);

appWidgetId = ids[0];

LinearLayout parent= (LinearLayout) findViewById(R.id.generalDashboardLayout);

parent.addView(mAppWidgetHost.createView(this, appWidgetId, appWidgetInfo));

}else{

System.err.println("Ids is null");

}

它总是打印“ Ids为null”.找不到要添加到我的视图的小部件

请帮忙

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值