0

Я разрабатываю приложение для Android. В приложении я хочу отключить домашнюю кнопку.
Так что я попытался преодолеть метод onAttachedToWindow, но проблема в том, что я получаю сообщение об ошибке при запуске приложения.Android Home Button Disable error

Код:

@Override 
public void onAttachedToWindow(){ 
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG); 
    super.onAttachedToWindow(); 
} 

Ошибка:

java.lang.IllegalArgumentException: тип окна не может быть изменен после добавления в окно. на android.os.Parcel.readException (Parcel.java:1603) на android.os.Parcel.readException (Parcel.java:1552) на android.view.IWindowSession $ Stub $ Proxy.relayout (IWindowSession.java: 912) на android.view.ViewRootImpl.relayoutWindow (ViewRootImpl.java:5415) на android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:1581) на android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1107) на android.view.ViewRootImpl $ TraversalRunnable.run (ViewRootImpl.java:6013) на android.view.Choreographer $ CallbackRecord.run (Хореограф.ява:858) в андроиде.Чтография.doCallbacks (Хореограф.java:670) на android.view.Choreographer.doFrame (Хореограф.ява: 606) на android.view.Choreographer $ FrameDisplayEventReceiver.run (Хореограф.java:844) на android.os.Handler.handleCallback (Handler.java:739) на android.os.Handler.dispatchMessage (Handler.java:95) на android.os.Looper.loop (Looper.java:148) на android .app.ActivityThread.main (ActivityThread.java:5417) в java.lang.reflect.Method.invoke (собственный метод) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616)

любой одной есть идея, что ошибка этого кода?

+1

вы не можете настроить функциональность кнопки «домой». – Dev

ответ

0

Как я уже говорил в другом вопросе, вы не можете отключить или переопределить или даже обнаружить домашнюю кнопку. Установить тип окна можно только до setContentView().

+0

привет Томаш, но большинство веб-страниц и блогов говорит, что это метод отключения домашней кнопки. Любой способ, знаете ли вы, как это сделать? –

+0

Не могли бы вы показать мне некоторые из этих веб-страниц или блогов? Они могут ссылаться на старые SDK для Android. Насколько я помню, до SDK 14 это было возможно. Для более новой версии вы не можете отключить дом (по соображениям безопасности - представьте, что кто-то заблокирует ваш дом, и вы не можете ничего делать с телефоном). Не могли бы вы рассказать мне, почему вы пытаетесь это сделать? Возможно, есть лучший способ достичь вашей цели. –

+0

https://developer.zebra.com/thread/1163, http://stackoverflow.com/questions/3898876/how-to-disable-the-home-key, это в ссылках сказано выше техника отключения домашней кнопки. но моя мини-версия SDK - 15. так что теперь я могу понять причину. –

1

Я нашел ответ на свой вопрос. в android Lolipop есть startLockTask() funciton.this свяжет вашу задачу. ты все.