Android—一键锁屏(不闪那一下)
2016-07-21 15:58
549 查看
中午休息的时候
党政办公室的小王同学说他自己下载的一个锁屏App锁屏的时候总是要闪一下
然后 就试着做了一个
从android2.2开始API里面就包含了一个locknow方法
(android.app.admin.DevicePolicyManager包中)
先看两个类:
1.DevicePolicyManager
这个类是管理设备类 通过他我们可以控制锁屏 亮度调节 恢复出厂设置等一系列功能
2.DeviceAdminReceiver
这个类是继承自广播的一个类我们需要接收到信息然后去执行一些操作
然后主要逻辑就是
点击图标 先看是否激活了管理权限 如果没有激活就先激活 激活了之后就直接调用locknow来实现锁屏
核心代码:
github源码下载地址
解决闪屏那一下 主要就是我没有加载布局而且直接lock()完就finish()了
然后也可以修改theme变成透明和无标题的格式
不过我是结束才不会闪屏那一下。
今天好fan………………………………………………………………………………………………………………………………………………….要炸掉
党政办公室的小王同学说他自己下载的一个锁屏App锁屏的时候总是要闪一下
然后 就试着做了一个
从android2.2开始API里面就包含了一个locknow方法
(android.app.admin.DevicePolicyManager包中)
先看两个类:
1.DevicePolicyManager
这个类是管理设备类 通过他我们可以控制锁屏 亮度调节 恢复出厂设置等一系列功能
2.DeviceAdminReceiver
这个类是继承自广播的一个类我们需要接收到信息然后去执行一些操作
然后主要逻辑就是
点击图标 先看是否激活了管理权限 如果没有激活就先激活 激活了之后就直接调用locknow来实现锁屏
核心代码:
public class MainActivity extends AppCompatActivity { private DevicePolicyManager policyManager; private ComponentName componentName; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); policyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); componentName = new ComponentName(this, AdminReceiver.class); mylock(); finish(); } private void mylock(){ boolean active = policyManager.isAdminActive(componentName); if(!active){//若无权限 activeManage();//去获得权限 policyManager.lockNow();//并锁屏 } if (active) { policyManager.lockNow();//直接锁屏 } } private void activeManage() { Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); //权限列表 intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName); //描述(additional explanation) intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, null); startActivityForResult(intent, 0); } }
github源码下载地址
解决闪屏那一下 主要就是我没有加载布局而且直接lock()完就finish()了
然后也可以修改theme变成透明和无标题的格式
不过我是结束才不会闪屏那一下。
今天好fan………………………………………………………………………………………………………………………………………………….要炸掉
相关文章推荐
- Android 动画 Animation
- Android HorizontalScrollView内子控件横向拖拽实例代码
- AndroidStudio调优设置
- android studio打包jar
- android获取Context
- Android应用端秒开优化体验
- 妈妈再也不用担心我的方法数超过65535啦
- 关于android6.0的Home键唤醒程序
- ScrollView嵌套ListView,listItem.measure(0,0);报空指针异常NullPointerException
- 成为Android高手一般分为五个阶段
- 监听Activity的生命周期
- Android -- 动画
- Android系统启动时间(不是系统当前时间)的获取
- android 事件绑定
- Android开发-日期选择按钮-步骤方法
- 根据Android Layout XM文件自动生成自定义View代码的工具类
- android studio 中运行java main class
- android LisrView 几个重要属性
- Android用HandlerThread模拟AsyncTask功能(ThreadTask)
- 在launch界面找不到应用程序图标的问题