static private final String PPPOE_INFO_SAVE_FILE = "/data/system/pap-secrets"; |
public boolean onPreferenceChange(Preference preference, Object value) { mDateChanged = true; ContentResolver cr = this.getContentResolver(); if(preference.equals(mDevices)){ Settings.Secure.putString(cr,Settings.Secure.PPPOE_INTERFACE,(String)value); }else if(preference.equals(mUser)){ // 处理修改用户名 mLoginUsername = (String)value; writeLoginInfo(mLoginUsername,mLoginPassword); }else if(preference.equals(mPassword)){ // 处理修改密码 mLoginPassword = (String)value; writeLoginInfo(mLoginUsername,mLoginPassword); }else if(preference.equals(mAutoConecting)){ mAutoConecting.setChecked((Boolean) value); Settings.Secure.putInt(cr,Settings.Secure.PPPOE_AUTO_CONN, (Boolean)value ? 1 : 0); }else if(preference.equals(mToggle)){ mToggle.setChecked((Boolean) value); Settings.Secure.putInt(cr,Settings.Secure.PPPOE_ENABLE, (Boolean)value ? 1 : 0); getActivity().sendBroadcast(new Intent("com.softwinner.pppoe.ACTION_STATE_CHANGE")); } return true; } |
private boolean writeLoginInfo(String username,String password){ File file = new File(PPPOE_INFO_SAVE_FILE); // 此常量就是/data/system/pap-secrets String loginInfo = String.format(mLoginFormat, username, password); // 这个会将用户名/密码在文本中的组织方式格式化为 "name * passwd" try { BufferedOutputStream out = new BufferedOutputStream( new FileOutputStream(file)); out.write(loginInfo.getBytes(),0,loginInfo.length()); // 写入/data/system/pap-secrets文件中 if(DEBUG){ Log.d(TAG,"write to " + PPPOE_INFO_SAVE_FILE + " login info = " + loginInfo); } out.flush(); out.close(); } catch (IOException e) { e.printStackTrace(); return false; } return true; } |
String iface = Settings.Secure.getString(getContentResolver(), Settings.Secure.PPPOE_INTERFACE); Settings.Secure.putString(cr,Settings.Secure.PPPOE_INTERFACE,(String)value); |
getActivity().sendBroadcast(new Intent("com.softwinner.pppoe.ACTION_STATE_CHANGE")); |
欢迎光临 SuperIC社区_ (/) | Powered by Discuz! X3.3 |