
 一直下载网上的锁屏程序,不过好多都有暗坑。背地里面弹广告,上传通讯录…… 自为一个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本文链接:http://it72.com/3731.htm