Как закрыть это действие?

Я создал приложение для блокировки экрана, которое запускается по SMS. У меня есть класс ListenSMS, который всегда прослушивает входящие SMS. Вот код:

for (SmsMessage message : messages) {
    String tempMessage[] = message.getDisplayMessageBody().toString().split(" ");

    //checking command dan password                             
    if (tempMessage[0].toString().equalsIgnoreCase("andro-lock") && tempMessage[1].toString().equals(tempPassword.toString())) {
        //Toast.makeText(ListenSMSservice.this, "Menjalankan command andro-lock", Toast.LENGTH_LONG).show();
        openDatabase();
        updateStatusL();
        Intent myIntent = new Intent(ListenSMSservice.this,LockScreenForm.class);
        myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        getApplication().startActivity(myIntent);
    }
    else if (tempMessage[0].toString().equalsIgnoreCase("andro-unlock") && tempMessage[1].toString().equals(tempPassword.toString())) {
        //Toast.makeText(ListenSMSservice.this, "Menjalankan command andro-unlock", Toast.LENGTH_LONG).show();
        openDatabase();
        updateStatusNL();                                                                   
        Intent myIntent = new Intent(ListenSMSservice.this,LockScreenForm.class);
        myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        Bundle myKillerBundle = new Bundle();
        myKillerBundle.putString("kill","1");
        myIntent.putExtras(myKillerBundle);
        getApplication().startActivity(myIntent);
    }
}

Если служба ListenSMS получила команду andro-lock , она перейдет к lockscreen.java и перейдет к lockscreen.java с намерением extra ( putExtra) kill при получении команды andro-unclock . Вот мой файл lockscreen.java:

public class LockScreenForm extends Activity implements OnClickListener {
    /** Called when the activity is first created. */

    @Override
    public void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.lockscreen);             

        Bundle extra = getIntent().getExtras();
        if (extra == null) {
            return;
        }
        //Toast.makeText(this, extra.getString("kill"), 1).show();
        else if(this.getIntent().getExtras().getString("kill").equalsIgnoreCase("1")) {
            try {
                Toast.makeText(this, "extra accepted", 1).show();
                finish();
            } catch (Exception e) {
                // TODO: handle exception
                Toast.makeText(this, e.getMessage(), 1).show();
            }

        }

    }
}

Я хочу закрыть свой файл locksreen.java, когда моя служба ListenSMS получила команду «andro-unlock», поэтому я добавляю дополнительные намерения «убить» и проверяю это в lockscreen.java. Этот файл lockscreen.java может проверять дополнительное намерение и может отображать тост "дополнительно принято", но может закрыть активность экрана блокировки с помощью функции finish ().

На данный момент я предполагаю, что Intent.FLAG_ACTIVITY_NEW_TASK дублирует блокировка экрана. Таким образом, будет создано действие с двойным экраном блокировки, а метод завершения закроет другой файл lockscreen.java, который был запущен Intent.FLAG_ACTIVITY_NEW_TASK . Это только предположение. Я ошибаюсь? Поправьте меня, пожалуйста.

Кто-нибудь знает, как решить мою проблему? Я действительно хочу, чтобы команда "andro-unlock" могла закрыть активность экрана блокировки и работала над моим финальным проектом в колледже. Пожалуйста, помогите.

7
задан itsmysterybox 28 September 2018 в 08:18
поделиться