zoukankan      html  css  js  c++  java
  • 锁屏

          <receiver android:name="com.cbooy.mmpa.receiver.MyAdmin"
                android:permission="android.permission.BIND_DEVICE_ADMIN" >
                <meta-data
                    android:name="android.app.device_admin"
                    android:resource="@xml/device_admin_sample" />
    
                <intent-filter>
                    <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
                </intent-filter>
            </receiver>
    <device-admin xmlns:android="http://schemas.android.com/apk/res/android">
      <uses-policies>
        <limit-password />
        <watch-login />
        <reset-password />
        <force-lock />
        <wipe-data />
        <expire-password />
        <encrypted-storage />
        <disable-camera />
      </uses-policies>
    </device-admin>
    public class LockScreenUtil {
    
        private static Context context = null;
        
        /**
         * 设置策略服务
         */
        private static DevicePolicyManager dpm = null;
        
        private LockScreenUtil(){
            
        }
    
        public static LockScreenUtil inst(Context ct) {
            
            context = ct;
            
            dpm = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
            
            return new LockScreenUtil();
        }
        
        /**
         * 开启锁屏,先判断是否开启权限
         */
        public void lockScreen(){
            
            ComponentName who = new ComponentName(context,MyAdmin.class);
            
            if(dpm.isAdminActive(who)){
                
                // 锁屏
                dpm.lockNow();
                
                //设置屏蔽密码
                dpm.resetPassword("123", 0);
                
                //清除Sdcard上的数据
                // dpm.wipeData(DevicePolicyManager.WIPE_EXTERNAL_STORAGE);
            }else{
                // 没有权限,需要先开通
                Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
                
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
                
                intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, who);
                
                //开启管理员权限
                intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"一键锁屏");
                
                context.startActivity(intent);
            }
        }
        
        public void removePermission() {
            
            // 1.先清除管理员权限
            ComponentName mDeviceAdminSample = new ComponentName(context,MyAdmin.class);
            
            dpm.removeActiveAdmin(mDeviceAdminSample);
            
            // 2.普通应用的卸载
            Intent intent = new Intent();
            
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
            
            intent.setAction("android.intent.action.VIEW");
            
            intent.addCategory("android.intent.category.DEFAULT");
            
            intent.setData(Uri.parse("package:" + context.getPackageName()));
            
            context.startActivity(intent);
        }
  • 相关阅读:
    如何编辑SDE数据(转)
    常用sql语句
    JavaScript 实现地图打印
    什么是3G通信?
    一种客户端得到后台某个值的方法
    如何利用C#创建和调用DLL(转)
    C#中如何调用动态链接库DLL(转)
    一个ADF Javascript 添加鼠标移动事件的例子
    ArcGIS Server网站发布后地图显示空白的原因
    硬盘录像机监听按钮不起作用
  • 原文地址:https://www.cnblogs.com/cbooy/p/4740129.html
Copyright © 2011-2022 走看看