Я создаю собственный домашний экран с пользовательским экраном блокировки.
Когда экран выключается, я запускаю экран блокировки (активность),
Однако, когда экран блокировки убит (методом "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 () при нажатии кнопки.
Понятия не имею, как это исправить.
Заранее спасибо!