我正在开发一个应用程序,它必须在设备屏幕关闭时启动活动。我使用带有intent过滤器的BroadcastReceiver,并在我的接收器中调用:
startActivity(new Intent(MyService.this, FullscreenActivity.class)
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS));
问题出现在startActivity方法调用后5秒后,我的FullscreenActivity的创建开始了! 5秒钟,卡尔!但它并非每次都发生。例如,如果我从desctop关闭屏幕,它会立即起作用。但是如果某些全屏应用程序正在运行,按下主页按钮然后按下电源按钮会延迟5秒。
09-13 11:55:32.658 28608-28608/com.incodemobile.incodeandroid.mylocker D/333﹕ Screen off
09-13 11:55:32.658 28608-28608/com.incodemobile.incodeandroid.mylocker D/333﹕ activity started from receiver BEGIN
09-13 11:55:32.698 28608-28608/com.incodemobile.incodeandroid.mylocker D/333﹕ activity started from receiver END
09-13 11:55:37.022 28608-28608/com.incodemobile.incodeandroid.mylocker D/333﹕ oncreate activity start
09-13 11:55:37.673 28608-28608/com.incodemobile.incodeandroid.mylocker D/333﹕ oncreate activity end
是否可以缩短这段时间?
答案 0 :(得分:0)
按下主页按钮后有5秒的硬编码延迟,以确保用户始终有办法逃离应用程序并返回主屏幕。
您可以阅读更多at this issue post,这是一种无证的安全机制,不太可能被更改,也无法由第三方应用程序解决。