
一直下载网上的锁屏程序,不过好多都有暗坑。背地里面弹广告,上传通讯录…… 自为一个Android开发人员绝不能容忍这种事情发生在自己身上,果断打开eclipse或者Android Studio自己开发一个,还能放自己喜欢的图标。总共代码量估计也就百来行! 代码如下: Activity.java
package com.lee.onekeylock;
import android.app.Activity;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
public class MainActivity extends Activity {
private static final int REQUEST_CODE = 10000;
private DevicePolicyManager policyManager;
private ComponentName componentName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
lockScreen();
}
private void lockScreen() {
// 获取设备管理服务
policyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
// AdminReceiver 继承自 DeviceAdminReceiver
componentName = new ComponentName(this, AdminReceiver.class);
boolean active = policyManager.isAdminActive(componentName);
if (!active) {
// 若无权限
activeManage(componentName);// 去获得权限
} else {
policyManager.lockNow();// 直接锁屏
finish();
}
}
private void activeManage(ComponentName componentName) {
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
"请求锁屏激活,请确认激活才能锁屏!");
startActivityForResult(intent, REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// 获取权限成功,立即锁屏并finish自己,否则继续获取权限
if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) {
policyManager.lockNow();
finish();
} else {
activeManage(componentName);
}
super.onActivityResult(requestCode, resultCode, data);
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
System.exit(0);// 退出程序
}
}
AdminReceiver.java
package com.lee.onekeylock;
import android.app.admin.DeviceAdminReceiver;
public class AdminReceiver extends DeviceAdminReceiver{}
lock_screen.xml
AndroidManifest.xml
style.xml
以上风格启动的时候不会有一闪的现象。
App下载:
OneKeyLock.apk 工程下载:
OneKeyLock本文链接:https://it72.com/3731.htm