我正在使用自定义锁屏构建自定义主屏幕。
当屏幕关闭时,我启动锁定屏幕(活动), 但是,当锁定屏幕被杀死(通过“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()。
我不知道如何解决这个问题。
提前致谢!
答案 0 :(得分:1)
我不完全确定配偶,但你必须考虑这个: Intent.FLAG_ACTIVITY_NEW_TASK启动了一组全新的视图 从逻辑上讲,退出锁定屏幕时,您没有以前的活动。
我自己建造一个,与你实际做的非常相似。 但不幸的是有这些问题: - 有时会加速减速 - 只要它“感觉”如下就加载:/ nm,goodluck mate