2016-01-20 2 views
3

Я использую Android-HomeKey-Locker, чтобы заблокировать домашний ключ. Это работает, но если дом заблокирован. Клавиатура Android никогда не открывается, и если я заблокирую дом, когда клавиатура открыта, то клавиатура не работает.Клавиатура не работает, когда домашний ключ заблокирован

Есть ли способ исправить это?

Блокировать дом в моем приложении строго необходимо, и нет другого способа его заменить.

+0

Физический или виртуальный ключ для дома? –

+0

Физический домашний ключ – user3782779

ответ

1

Я столкнулся с тем же сценарием в своем текущем проекте, я использовал тот же самый Home Key Locker lib.

Я должен принять ввод в диалоге внутри моей деятельности Kiosk Mode, клавиатура не отображается, поэтому я делаю это:

final Dialog d = new Dialog(this.activity); 
    d.requestWindowFeature(Window.FEATURE_NO_TITLE); 

    getHomeKeyLocker().unlock();  // Unlock before showing dialog 

    d.setContentView(R.layout.dialog); 

    final EditText edt = (EditText) d.findViewById(R.id.input); 

    Button btnSubmit = (Button) d.findViewById(R.id.btnOk); 
    btnSubmit.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      edt.setError(null); 

      String tempString = edt.getText().toString(); 

      try { 
       float value = Float.valueOf(tempString); 
       if (value >= 10 && value <= 400) { 
        // Correct value entered 
        getHomeKeyLocker().lock(activity); // Lock again after getting the value 
        d.dismiss(); 
       } else { 
        edt.setError("Enter correct value"); 
       } 
      } catch (NumberFormatException e) { 
       e.printStackTrace(); 
       edt.setError("Enter correct value"); 
      } 
     } 
    }); 

    d.show(); 

В принципе, я просто разблокировать деятельность перед показом диалога и заблокировать деятельность снова после получения значения.

Смежные вопросы