【发布时间】:2012-02-05 09:37:58
【问题描述】:
我正在构建一个带有自定义锁屏的自定义主屏幕。
当屏幕关闭时,我启动锁定屏幕(活动), 但是,当锁屏被杀死时(通过“finish()”),它会回到 我的主屏幕 apk 中的最后一个活动,而不是真正的活动 (apk) 在屏幕关闭之前可见。
例如,如果我在计算器应用程序中,或者在时钟应用程序中,并且锁屏打开,当锁屏活动完成时,它不会返回到计算器/时钟
我在此处注册锁定屏幕(在主启动器活动中)以接收屏幕开/关事件:
private void doLockScreenOperations()
{
KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();
IntentFilter lockfiFilter = new IntentFilter();
lockfiFilter.addAction(Intent.ACTION_SCREEN_OFF);
lockfiFilter.addAction(Intent.ACTION_SCREEN_ON);
getApplicationContext().registerReceiver(new LockScreenReceiver(), lockfiFilter);
}
这是接收器本身,我在其中启动锁定屏幕的活动:
public class LockScreenReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
if (action.equals(Intent.ACTION_SCREEN_OFF))
{
if (LockScreenActivity.isLockScreenAlive == false)
{
Intent lockIntent = new Intent(context, LockScreenActivity.class);
lockIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(lockIntent);
}
}
else if (action.equals(Intent.ACTION_SCREEN_ON))
{
}
}
}
此时,LockScreenActivity 是一个带有按钮的简单活动 单击按钮时调用finish()。
我不知道如何解决这个问题。
提前致谢!
【问题讨论】:
标签: android android-activity lockscreen