0

私はいくつかのアンドロイドアプリケーションを開発しています。アプリケーションでは、ホームボタンを無効にしたいと思います。
onAttachedToWindowメソッドをオーバーライドしようとしましたが、アプリケーションを起動するときに問題が発生します。Androidホームボタンエラーを無効にする

コード:

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

エラー:

java.lang.IllegalArgumentExceptionが:ウィンドウが追加された後のウィンドウの種類を変更することはできません。 (Parcel.java:1552) android.view.IWindowSession $ Stub $ Proxy.relayout(IWindowSession.java: 912)android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1581)android.view.ViewRootImpl.doTraversalで でandroid.view.ViewRootImpl.relayoutWindow(ViewRootImpl.java:5415) で(ViewRootImpl.java:1107) at android.view.ViewRootImpl $ TraversalRunnable.run(ViewRootImpl.java:6013) at android.view.Choreographer $ CallbackRecord.run(Choreographer.java:858) android.view.Choreographer.doCallbacks(Choreographer.java:670) android.view.Choreographer.doFrame(Choreographer.java:606) at android.view.Choreographer $ FrameDisplayEventReceiver.run(Choreographer.java:844) android.os.Handler.handleCallback(Handler.java:739) (andler.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) でandroid .App.ActivityThread.main(ActivityThread.java:5417) at 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

webdやブログのいくつかを見せてもらえますか?以前のアンドロイドSDKを参照している可能性があります - 私が覚えているように、SDK 14以前はそういったことが可能でした。新しいバージョンの場合は、家を無効にすることはできません(セキュリティ上の理由から、誰かがあなたの家をブロックし、あなたの電話で何もできないことを想像してください)。なぜあなたはこれをやろうとしますか?おそらくあなたの目的を達成するためのより良い方法があります。 –

+0

https://developer.zebra.com/thread/1163、http://stackoverflow.com/questions/3898876/how-to-disable-the-home-key、this参照は上記のホームボタンを無効にする方法を示しています。私の最小SDKのバージョンは15です。私は今理由を理解することができます。 –

1

私の質問に対する答えが見つかりました。 android LolipopにはstartLockTask()関数があります。これはあなたの仕事を固定します。皆さんを賞賛してください。

関連する問題