我正在开发锁定应用程序。我试图在屏幕超时后开始活动。但它不起作用,因为我不知道如何检查屏幕是否超时。
我正在使用此代码设置屏幕超时时间android.provider.Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, time);
。我可以使用此代码if(android.provider.Settings.System.SCREEN_OFF_TIMEOUT != null)
检查屏幕超时值是否为空。
我尝试过这段代码,但效果并不理想。我也试过下面的代码,但它在固定的时间工作。
`if (intent.getAction().equals("android.intent.action.SCREEN_OFF"))
{ delay = 5000;
v = sharedpreferences.getInt("lock1", 0);
if(android.provider.Settings.System.SCREEN_OFF_TIMEOUT != null){
if(v == 1)
{
final Intent localIntent2 = new Intent(context, shake_or_swipe.class);
localIntent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
localIntent2.putExtra("pin_password", s1);
new Intent("android.intent.action.MAIN");
//.addCategory("android.intent.category.HOME");
/* handler = new Handler();
delayRunnable = new Runnable() {
@Override
public void run() {
context.startActivity(localIntent2);
}
};
handler.postDelayed(delayRunnable, delay);
*/
}
}`
此代码在特定时间内工作,如5秒。当屏幕打开时,上面的活动不应该开始。但是当屏幕再次关闭时,此活动应该在每五分钟后开始。
任何人都可以告诉我如何在screen_time_out
之后开始延迟一秒钟的活动。?