[JAVA] Ich habe mit der Lautstärketaste mit der Android-App ein Sperrmuster erstellt. Fragment Edition

Ich habe einen Code geschrieben, der entsperrt wird, wenn ich innerhalb von 5 Sekunden einen Befehl über die Lautstärketaste eingebe.

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
                           Bundle savedInstanceState) {

    //Initialisierung von Befehlen beim Ändern der Lautstärke
    mCommandTime = 0;
    mSuccessCommand = "";

    final View v = inflater.inflate(R.layout.fragment_recording, container, false);

    v.setOnKeyListener(new View.OnKeyListener() {
      @Override
      public boolean onKey(View v, int keyCode, KeyEvent event) {


        if (mCommandTime==0) {
          //Nach dem Drücken startet der Timer erst, wenn mCommandTime nach 5 Sekunden auf 0 zurückgesetzt wird
          mCommandTime++;

          final Handler handler = new Handler();
          handler.postDelayed(new Runnable() {
            @Override
            public void run() {
              Log.d(TAG, "Initialisieren Sie openPass nach 5 Sekunden");
              mSuccessCommand = "";
              //Zeichenkette nur bei eingeschaltetem Timer(mSuccessCommand)Kann hinzugefügt werden
              Log.d(TAG, "Der Timer kann nach Ablauf von 5 Sekunden gestartet werden.");
              mCommandTime= 0;
            }
          }, 5000);

        }else{
          Log.d(TAG,"comandTime"+mCommandTime+"Und ich kann den Timer nicht verwenden, weil er länger als 5 Sekunden ist");
        }

        if(event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP){
          mSuccessCommand=mSuccessCommand+"1";
          Log.d(TAG,"Kommandieren+1 ist der aktuelle Befehl"+mSuccessCommand);


        }else if(event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN){
          mSuccessCommand=mSuccessCommand+"0";
          Log.d(TAG,"Kommandieren+0 ist der aktuelle Befehl"+mSuccessCommand);

        }

        if (mSuccessCommand.equals("01101")) { 
          Log.i(TAG,"Der Lebensbefehl wurde aufgehoben");
     
          Toast.makeText(getActivity(), "Das Schloss wurde freigegeben.", Toast.LENGTH_SHORT).show();
          
          //Hier ist der Vorgang zum Entsperren
      }
    });
    // View#Es ist wichtig, true in setFocusableInTouchMode festzulegen
    v.setFocusableInTouchMode(true);
    return v;
  }
}

Obwohl es hier nicht geschrieben ist, wird KeyEvent zweimal aufgerufen, "Down" und "Up". Daher ist es gut, eine if-Anweisung zu erstellen, die nur bei "Down" eingegeben werden kann.

persönlich,

Während ich in Zukunft SNS usw. mache, möchte ich die Transparenz der Anwendung durch Entsperren der Lautstärketaste anpassen. Habe Spaß

Recommended Posts

Ich habe mit der Lautstärketaste mit der Android-App ein Sperrmuster erstellt. Fragment Edition
Ich habe eine Janken App mit Android gemacht
Ich habe eine passende App erstellt (Android App)
Ich habe versucht, die CameraX-Bibliothek mit Android Java Fragment zu verwenden
[Android] Ich habe eine Schrittzähler-App erstellt.
Ich habe eine Janken App mit Kotlin gemacht
Ich habe eine Taschenrechner-App für Android erstellt
Ich habe eine Chat-App erstellt.
Ich habe mit JD-Core eine Befehlszeilenschnittstelle mit dem WinMerge Plugin erstellt
[Rails] Ich habe eine einfache Kalender-Mini-App mit benutzerdefinierten Spezifikationen erstellt.
Ich habe eine shopify App @java erstellt
Ich habe kürzlich eine JS-App in der gemunkelten Dart-Sprache erstellt
Ich habe mit Ruby einen riskanten Würfel gemacht
Muster zwischen Ansichten delegieren. Ich habe auch einen Beispielseitenübergang mit NavigationLink durchgeführt.
04. Ich habe mit SpringBoot + Thymeleaf ein Frontend gemacht
Ich habe Mosaikkunst mit Pokemon-Bildern gemacht
Veröffentlichen Sie die mit Ruby on Rails erstellte App
Ich habe mit Ruby einen Blackjack gemacht (ich habe versucht, Minitest zu verwenden)
Ich habe eine Android-App für den MiRm-Dienst erstellt
[Rails] Ich habe eine Entwurfsfunktion mit enum erstellt
Ich habe einen LINE Bot mit Rails + Heroku gemacht
Ich habe mit Ruby On Rails ein Portfolio erstellt
Ich habe eine Funktion zum Registrieren von Bildern bei der API in Spring Framework erstellt. Teil 1 (API Edition)
Ich habe versucht, eine Datenbankverbindung in der Android-Entwicklung zu verwenden
Ich habe ein Check-Tool für das Release-Modul erstellt
Refactor die Implementierung des Decorator-Musters mit einer funktionalen Schnittstelle
Lassen Sie das Armbandgerät mit Bluetooth über die Android-App vibrieren
[Ruby] Ich habe einen Crawler mit Anemone und Nokogiri gemacht.
Ich möchte den Dunkelmodus mit der SWT-App verwenden
Ich habe eine Bibliothek zum Anzeigen von Tutorials auf Android erstellt.
Ich habe eine Android-App erstellt, die mit HTTP abgerufen wird
Ich habe eine Funktion zum Registrieren von Bildern bei der API in Spring Framework erstellt. Teil 2 (Client Edition)
Ich habe versucht, ein Programm in Java zu erstellen, das das Problem des Handlungsreisenden mit einem genetischen Algorithmus löst