我正在使用自定义锁屏构建自定义主屏幕。
当屏幕关闭时,我启动锁屏(活动),但是,当锁屏被杀死(通过“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 在那一刻是一个简单的活动,带有一个按钮,当单击该按钮时调用该按钮。
我不知道如何解决这个问题。
提前致谢!