0

我正在使用自定义锁屏构建自定义主屏幕。

当屏幕关闭时,我启动锁屏(活动),但是,当锁屏被杀死(通过“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 在那一刻是一个简单的活动,带有一个按钮,当单击该按钮时调用该按钮。

我不知道如何解决这个问题。

提前致谢!

4

1 回答 1

1

我不完全确定队友,但你必须考虑这一点: Intent.FLAG_ACTIVITY_NEW_TASK 启动了一组新的视图,因此在逻辑上你没有以前的活动可以在退出锁定屏幕时返回。

我正在自己建造一个,与您实际的操作非常相似。但不幸的是有这些问题:-它有时会加载变慢-它会在它“感觉”时加载:/ nm,goodluck mate

于 2012-02-15T13:13:41.037 回答