LockSettingsService增加接口

2016年setiings项目:
Android系统设置安全项加密,属于国外军方加密手机部分功能。
功能简述
1.点击设置,并打开应用,显示应用首页。
2.点击安全项,弹出密码框提示,默认密码6位,shy123。
3.首次输入默认密码,显示安全项页面,修改密码项。
4.密码要求采用MD5和SHA256混合加密。

服务端:

frameworks/base/core/java/com/android/internal/widget/ILockSettings.aidl

//增加两个方法 
setSecurityPassword(String pwd)
getSecurityPassword()

frameworks/base/services/core/java/com/android/server/locksettings/LockSettingsService.java

public class LockSettingsService extends ILockSettings.Stub
201    // This class manages life cycle events for encrypted users on File Based Encryption (FBE)
202    // devices. The most basic of these is to show/hide notifications about missing features until
203    // the user unlocks the account and credential-encrypted storage is available.
204    public static final class Lifecycle extends SystemService {
205        private LockSettingsService mLockSettingsService;
206
207        public Lifecycle(Context context) {
208            super(context);
209        }
210
211        @Override
212        public void onStart() {
213            AndroidKeyStoreProvider.install();
214            mLockSettingsService = new LockSettingsService(getContext());
               //发布远程服务,绑定name="lock_settings"
215            publishBinderService("lock_settings", mLockSettingsService);
216        }
217
//LockSettingsService类实现两个方法 
setSecurityPassword(String pwd)
getSecurityPassword()

frameworks/base/services/core/java/com/android/server/SystemService.java

234    protected final void publishBinderService(String name, IBinder service,
235            boolean allowIsolated, int dumpPriority) {
236        ServiceManager.addService(name, service, allowIsolated, dumpPriority);
237    }

客户端:

frameworks/base/core/java/com/android/internal/widget/LockPatternUtils.java

266    public ILockSettings getLockSettings() {
267        if (mLockSettingsService == null) {
268            ILockSettings service = ILockSettings.Stub.asInterface(
269                    ServiceManager.getService("lock_settings"));
270            mLockSettingsService = service;
271        }
272        return mLockSettingsService;
273    }
274
572     * get lock password.
573     * @return pwd.
574     */
575    public String getSecurityPasswords() {
576        try {
577            return getLockSettings().getSecurityPassword();
578        } catch (RemoteException re) {
               Log.w(TAG,"getSecurityPasswords: "+re.getMessage());
579            return "";
580        }
581    }
582
572     * set lock password.
573     * @p pwd.
574     */
575    public void setSecurityPassword(String pwd) {
576        try {
577            getLockSettings().setSecurityPassword(String pwd);
578        } catch (RemoteException re) {
579            Log.w(TAG,"setSecurityPassword: "+re.getMessage());
580        }
581    }
582
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值