前言
最近接到这样一个客户需求:在连接USB的时候,我们可以选择相应的usb传输模式,如只充电,PTP,mtp等。客户需要在我们选择模式之后将选择的模式记录下来,等到下一次连接USB的时候直接进入该模式。
最开始我的思路是采用直接模拟开关的切换来实现:
首先找到USB模式切换的控制类alps/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java
在onRadioButtonClicked方法中将选择的模式记录下来
+ Settings.System.putString(mContext.getContentResolver(), "function_default", new Long(function).toString());
然后在refaush方法中
mProfilesContainer.setEnabled(true);
}
RadioButtonPreference pref;
+ String functionDefault = Settings.System.getString(mContext.getContentResolver(), "function_default");
for (long option : FUNCTIONS_MAP.keySet()) {
int title = FUNCTIONS_MAP.get(option);
pref = getProfilePreference(UsbBackend.usbFunctionsToString