2017-03-25 13 views
0

私は、ユーザーがパスコード入力でランチャーを終了することができるサムスンタブレットのカスタムランチャーアンドロイドを開発したい。Android - 最近のアプリをクリックしたときの検出方法

現在、私は最近のアプリボタンに問題があります。ユーザーが最近のアプリボタンをクリックし、最近のアプリをクリックしてからバックプレスをクリックすると、私のランチャーを既定のランチャーとして既に設定していても、デバイスはTouchWizランチャーに移動します。また、ユーザーがアクセスできないように通知バーを無効にします。しかし、最近のアプリでBackpressed経由でTouchWizに行くと、その通知も無効になり、TouchWizランチャーに入ったら可能になるはずです。

私の提案する解決策は、最近のアプリをクリックして現在のビューの変更を引き起こす可能性のある操作を禁止することです。

答えて

0

私は最近のアプリがクリックされた検出することはできません。だから私はonPause()私のアプリがフォアグラウンドまたはバックグラウンドであるかどうかを検出するために使用します。 onPause()にある場合、私のアプリはバックグラウンドにあります。もしそうなら、私はstartActivity(myLauncher)を実行するので、他のアプリは起動しません。

+0

これは悪いアプローチです。[this](https://stackoverflow.com/questions/46883404/how-to-launch-the-same-activity-even-app-is-in-background/46883731#)を確認してください。 46883731) – Maddy

0

onWindowFocusChangedの方法を確認できます。あなたは最近のアプリをクリックするか、そのアプリから戻るボタンを押すと、このメソッドでコールバックを取得します。あなたが最近のアプリをクリックすると、hasFocusはfalseになり、戻るときにtrueになります。

documentation

関連する問題