Chcę zrobić jak poniżej:Jak rozpocząć działalność po odblokowaniu btn naciśnij i przed ekranem odblokowania pojawi się?
Naciśnij przycisk "Odblokuj". Po naciśnięciu przycisku odblokowującego aktywowana jest moja aktywność. Po zakończeniu mojej aktywności za pomocą przycisku Zamknij na ekranie zachęcam użytkownika do wprowadzenia blokady wzoru (lub blokady PIN). po wejściu pojawia się ekran główny z prawą blokadą wzoru.
Chcę poniżej scenariusz:
nacisnąć przycisk zasilania/odblokowania -> początek mojej działalności -> kliknij przycisk zamykania działalności -> szybka podać wzór do odblokowania -> wprowadzić wzór -> Ekran główny wyświetlacz
Obecnie Sporządzono jak poniżej:
Korzystanie odbiornik radiowy z ACTION_USER_PRESENT
mam aktywność po użytkownikiem podać wzór & urządzenie jest odblokować
Korzystanie odbiornik radiowy z ACTION_SCREEN_ON
, Mam msg w dzienniku po naciśnięciu przycisku odblokowania, ale aktywność rozpoczyna się po wprowadzeniu przez użytkownika wzoru & urządzenie jest odblokowane.
Próbuję użyć odbiornika Broadcast do odbioru wydarzeń o numerach ACTION_SCREEN_ON
i ACTION_USER_PRESENT
.
mojego kodu jest jak poniżej:
Broadcast Receiver -
public class BrodcastReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
Log.d("receiver", "main");
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF))
{
// do whatever you need to do here
Log.d("receiver", "screen off");
}
else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON))
{
// and do whatever you need to do here
Log.d("receiver", "screen on");
context.startActivity(new Intent(context,
unlock_image.class)
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT)
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
Log.d("receiver", "aft activity");
}
else if (intent.getAction().equals(Intent.ACTION_USER_PRESENT))
{
Log.d("receiver", "unlock");
context.startActivity(new Intent(context,
unlock_image.class)
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
}
}
Rejestracja Broadcast Listner -
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_USER_PRESENT);
BroadcastReceiver mReceiver = new BrodcastReceiver();
registerReceiver(mReceiver, filter);
Staram dużo, ale nie mogę dostać to, co chcę. Każda pomoc jest doceniana, jeśli ktoś ma pomysł, Jak uzyskać oczekiwany wynik, jak chcę.