Android:求大神帮我详细讲解一下这段代码

private void clearPackagePreferredActivities(Context context, String packageName) {
PackageManager mPm = context.getPackageManager();
UserManager mUserManager = (UserManager)context.getSystemService(Context.USER_SERVICE);
AppWidgetManager mAppWidgetManager = AppWidgetManager.getInstance(context);;
IBinder b = ServiceManager.getService(Context.USB_SERVICE);
IUsbManager mUsbManager = IUsbManager.Stub.asInterface(b);
if (mUsbManager != null) {
mPm.clearPackagePreferredActivities(packageName);
try {
mUsbManager.clearDefaults(packageName, UserHandle.myUserId());
} catch (Exception e) {
}
}
}

这段代码的用途是清除程序的偏好设定,先通过包管理器得到包,然后将指定的应用设置为默认设置。