android4.0自定义锁屏总结 Home button disable in Android4.0.3 应用层解决Home button disable的问题

程序介绍:

点击打开链接


程序下载:

http://dl2.iteye.com/upload/attachment/0067/3850/d45fc4e9-d70d-3250-883c-5c1f16b1fe92.zip

完整代码下载:

http://download.csdn.net/detail/xuwuhao/8703291

偷笑



  1. public class LockLayer {     
  2.     private Activity mActivty;     
  3.     private WindowManager mWindowManager;     
  4.     private View mLockView;     
  5.     private LayoutParams mLockViewLayoutParams;     
  6.     private static LockLayer mLockLayer;     
  7.     private boolean isLocked;     
  8.         
  9.     public static synchronized LockLayer getInstance(Activity act){     
  10.         if(mLockLayer == null){     
  11.             mLockLayer = new LockLayer(act);     
  12.         }     
  13.         return mLockLayer;     
  14.     }     
  15.         
  16.     private LockLayer(Activity act) {     
  17.         mActivty = act;     
  18.         init();     
  19.     }     
  20.     
  21.     private void init(){     
  22.         isLocked = false;     
  23.         mWindowManager = mActivty.getWindowManager();     
  24.         mLockViewLayoutParams = new LayoutParams();     
  25.         mLockViewLayoutParams.width = LayoutParams.MATCH_PARENT;     
  26.         mLockViewLayoutParams.height = LayoutParams.MATCH_PARENT;     
  27.         //实现关键     
  28.         mLockViewLayoutParams.type = LayoutParams.TYPE_SYSTEM_ERROR;     
  29.         //apktool value,这个值具体是哪个变量还请网友帮忙     
  30.         mLockViewLayoutParams.flags = 1280;     
  31.     }     
  32.     public synchronized void lock() {     
  33.         if(mLockView!=null&&!isLocked){     
  34.             mWindowManager.addView(mLockView, mLockViewLayoutParams);     
  35.         }     
  36.         isLocked = true;     
  37.     }     
  38.     public synchronized void unlock() {     
  39.         if(mWindowManager!=null&&isLocked){     
  40.             mWindowManager.removeView(mLockView);     
  41.         }     
  42.         isLocked = false;     
  43.     }     
  44.     public synchronized void setLockView(View v){     
  45.         mLockView = v;     
  46.     }     
  47. }   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 4.0 及以上版本中,可以使用 DevicePolicyManager 类来实现一键锁屏功能。以下是实现的步骤: 1. 在 AndroidManifest.xml 文件中添加如下权限: ```xml <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/> <uses-permission android:name="android.permission.RESET_PASSWORD"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.WRITE_SETTINGS"/> ``` 2. 创建一个继承自 DeviceAdminReceiver 的广播接收器类: ```java public class MyDeviceAdminReceiver extends DeviceAdminReceiver { } ``` 3. 在项目中获取 DevicePolicyManager 对象: ```java DevicePolicyManager mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); ``` 4. 在 Activity 中注册广播接收器(可以在 onCreate 方法中调用): ```java ComponentName mAdminName = new ComponentName(this, MyDeviceAdminReceiver.class); Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mAdminName); startActivityForResult(intent, 0); ``` 5. 调用 DevicePolicyManager 的 lockNow 方法实现一键锁屏: ```java if (mDPM.isAdminActive(mAdminName)) { mDPM.lockNow(); } else { Toast.makeText(this, "请先激活设备管理器", Toast.LENGTH_SHORT).show(); } ``` 注意:在实现一键锁屏功能时,需要用户同意激活设备管理器。如果用户没有激活设备管理器,则无法实现一键锁屏功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值