Launcher.java中AppWidget添加过程分析
1、首先、AppWidget添加的Dialog是通过长按出来的,所以查找onLongClick()方法,看到有showAddDialog(cellInfo);方法
2、跳转到showAddDialog()方法看到showDialog(DIALOG_CREATE_SHORTCUT);是通过Activity的showDilaog()显示一个dialog,所以找到onCreateDialog方法,
找到对应的dialog的ID(DIALOG_CREATE_SHORTCUT),看到如下代码:
case REQUEST_PICK_APPWIDGET:addAppWidget(data);
再跳转到addAppWidget方法,if (appWidget.configure != null)是判断该widget是否有设置,如果有设置,则先跳转到设置界面,若没有设置则直接执行completeAddAppWidget()方法,将widget添加到桌面有桌面数据库中。
这样一个AppWidget就添加完成了。。。。。