首先,需要启动一个后台服务,用于注册一个BroadcastReceiver
这个BroadcastReceiver用于监听Intent.ACTION_SCREEN_OFF
这样在发生这个事件Intent.ACTION_SCREEN_OFF 也就是用户锁屏或者屏幕上锁时触发。
Service中注册BroadcastReceiver代码
super.onCreate();
}
@Override
public void onStart(Intent intent, int startId)
{
// TODO Auto-generated method stub
Log.i("in Service","in Service");
mKeyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
mKeyguardLock = mKeyguardManager.newKeyguardLock("");
mKeyguardLock.disableKeyguard();
Log.i("in Service1","in Service1");
BroadcastReceiver mMasterResetReciever = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
try {
Intent i = new Intent();
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setClass(context, ZyScreenSaver.class);
context.startActivity(i);
// finish();
Log.i("BroadcastReceiver","BroadcastReceiver");
} catch (Exception e) {
Log.i("Output:", e.toString());
}
}
};
registerReceiver(mMasterResetReciever, new IntentFilter(
Intent.ACTION_SCREEN_OFF));
}
}
然后在我们启动的ZyScreenSaver这个屏保界面Activity里写上
}
})
.create();
}
return null;
}
}
然后在我们的主界面里写上启动服务就可以了
}
}
在Manifest里贴权限
源码下载
http://download.csdn.net/source/2996510
如果实在要屏蔽home键 还有一种办法 就是
这样在
public boolean onKeyDown(int keyCode, KeyEvent event)
函数里就能监听到home了
本博客版权归CSDN博主曾阳所有
http://blog.csdn.net/Zengyangtech/archive/2011/01/21/6157508.aspx
转载请注明