0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Android】ステータスバーを下にスワイプしてクイック設定が出たことを検出する

Posted at

はじめに

スクリーンショット 2018-07-11 17.26.50.png

上の画像のようにステータスバーを下にスワイプするとクイック設定が出る。
クイック設定が表示されたことを何とか検出できないかと色々試してみた。

試してダメだった方法

Activity#onTouchEvent(MotionEvent event) での検出

onTouchEventでイベントが取得できるかと思ったが画面外の為に検出はできなかった。

成功した方法

Activity#onWindowFocusChanged(boolean hasFocus) での検出

実装は以下のみ。

MainActivity.java
public class MainActivity extends AppCompatActivity {

    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        Log.d("MainActivity", "onWindowFocusChanged hasFocus: " + hasFocus);
    }
}

Logを確認すると
クイック設定が出た場合

D/MainActivity: onWindowFocusChanged hasFocus: false

クイック設定が閉じた場合

D/MainActivity: onWindowFocusChanged hasFocus: true

のような通知がログで確認できた。

終わりに

一応、検出はできたが
Activity#onWindowFocusChanged(boolean hasFocus)
は、今回の操作以外に色々な状況で通知が来てしまう為、この方法だけでは不十分で完全にクイック設定が出たことを検出するのは難しいかもしれない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?