这个原理很简单,相信大家都比较熟悉安卓的图形渲染过程,所以就不介绍了,大概原理就是修改window的亮度,然后达到让屏幕变黑的效果,通过监听activity的
dispatchTouchEvent方法来全局监听屏幕的变化。
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.view.MotionEvent;
import android.view.WindowManager;
public class BaseActivity extends Activity {
/**
* 最大的屏幕亮度
*/
float maxLight;
/**
* 当前的亮度
*/
float currentLight;
/**
* 用来控制屏幕亮度
*/
Handler handler;
/**
* 延时时间
*/
long DenyTime = 5 * 1000L;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
InitData();
}
private void InitData() {
han