Register a broadcast receiver for ACTION_USER_PRESENT
, and start a handler in it to run your activity after a minimum of five seconds.
You'll have to regiester the receiver dynamically, as ACTION_USER_PRESENT is not called if you register from the manifest.
IntentFilter filter = new IntentFilter(Intent.ACTION_USER_PRESENT);
BroadcastReceiver mReceiver = new YourReceiver();
registerReceiver(mReceiver, filter);