将keyguard默认的时间ClockView替换为digitalClock Appwidget
1. 按如下方法修改KeyguardHostView.java中addDefaultStatusWidget():
private void addDefaultStatusWidget(int index) {
int appWidgetId = mAppWidgetHost.allocateAppWidgetId();
mAppWidgetManager.bindAppWidgetIdIfAllowed(appWidgetId,
new ComponentName("com.android.deskclock","com.android.alarmclock.DigitalAppWidgetProvider"));
AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(appWidgetId);
if (appWidgetInfo != null) {
AppWidgetHostView view = getAppWidgetHost().createView(mContext, appWidgetId, appWidgetInfo);
addWidget(view, index);
Log.d(TAG,"keyguardHostView.addDefaultStatusWidget().appWidgetId="+appWidgetId+"; pageIndex="+index+";"+"appWidgetInfo="+appWidgetInfo);
}
}
只需要将上面bindAppWidgetIdIfAllowed()第二个参数ComponentName修改为对应appWidget的ComponentName即可。