@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//Initialisation des commandes lors du changement de volume
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) {
//Une fois appuyé, le minuteur ne démarre pas tant que mCommandTime n'est pas remis à 0 après 5 secondes
mCommandTime++;
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Initialiser openPass après 5 secondes");
mSuccessCommand = "";
//Chaîne de caractères uniquement lorsque la minuterie est activée(mSuccessCommand)Peut être ajouté à
Log.d(TAG, "La minuterie peut être démarrée après 5 secondes.");
mCommandTime= 0;
}
}, 5000);
}else{
Log.d(TAG,"comandTime"+mCommandTime+"Et je ne peux pas utiliser la minuterie car cela fait plus de 5 secondes");
}
if(event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP){
mSuccessCommand=mSuccessCommand+"1";
Log.d(TAG,"Commander+1, la commande actuelle est"+mSuccessCommand);
}else if(event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN){
mSuccessCommand=mSuccessCommand+"0";
Log.d(TAG,"Commander+0, la commande actuelle est"+mSuccessCommand);
}
if (mSuccessCommand.equals("01101")) {
Log.i(TAG,"Le commandement de la vie a été levé");
Toast.makeText(getActivity(), "Le verrou a été libéré.", Toast.LENGTH_SHORT).show();
//Voici le processus de déverrouillage
}
});
// View#Il est important de définir true dans setFocusableInTouchMode
v.setFocusableInTouchMode(true);
return v;
}
}
Lors de la création de SNS, etc. à l'avenir, je voudrais ajuster la transparence de l'application en déverrouillant le bouton de volume. S'amuser
Recommended Posts