ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [AOS] Android Screen ON / OFF Detect
    2023. 6. 30. 15:41
    ๋ฐ˜์‘ํ˜•

     

    ๐Ÿ‘ฎ๐Ÿป‍โ™€๏ธ
    ์•ฑ ์‹คํ–‰ ์‹œ ํ™”๋ฉด์ด ๊บผ์กŒ๋‹ค ์ผœ์ ธ๋„ ์‚ฌ์šฉ์ž ์ธ์ฆ์„ ๋‹ค์‹œ ์•ˆํ•˜๋„ค์š”..?
    ์˜ˆ...?
    ๐Ÿถ

     

     

     

    ๐Ÿ‘ฎ๐Ÿป‍โ™€๏ธ
    ๊ณ ์น˜์„ธ์š”.
    ๋„ค...
    ๐Ÿถ

     

     

     

     

    ์•ฑ ์‹คํ–‰ ์ƒํƒœ์—์„œ ์ „์› ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์•ฑ ํ™”๋ฉด์„ ํ‚ค๊ณ  ๋Œ ๋•Œ ์ˆ˜ํ–‰ํ•  action์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

    IntentFilter๋ฅผ ์ด์šฉํ•ด ์Šคํฌ๋ฆฐ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ณ , BroadcastReceiver๋กœ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ์ƒํƒœ๋ฅผ ํ™•์ธํ•œ๋‹ค.

     

     

    IntentFilter & BroadcastReceiver

    1. Receiver๋ฅผ registerํ–ˆ์œผ๋ฉด unregister๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— receiver๋Š” ์ „์—ญ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ•ด์ค€๋‹ค.

    private val receiver: BroadcastReceiver? = null

     

    2. receiver ์ •์˜ ๋ฐ register

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        
        val intentFilter = IntentFilter()
        intentFilter.addAction(Intent.ACTION_SCREEN_OFF)
        receiver = object : BroadcastReceiver() {
            override fun onReceive(context: Context?, intent: Intent) {
                if (intent.action == Intent.ACTION_SCREEN_OFF) {
                    // to do when screen status is off
                } else {
                    // to do when screen status is on
                }
            }
        }
        
        registerReceiver(receiver, intentFilter)
    }

     

    3. receiver unregister

     override fun onDestroy() {
         super.onDestroy()
         
         unregisterReceiver(receiver);
     }

     

    ๋งŒ์•ฝ, unregister๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

     

     

    ๐Ÿชฒ

    android Are you missing a call to unregisterReceiver()?

     

     

    receiver๋ฅผ unregisterํ•ด์ฃผ์ง€ ์•Š์•„ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์ด๋ฏ€๋กœ, ์•ฑ์ด ์ข…๋ฃŒ๋˜๋Š” ์‹œ์ ์— unregister ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

     

     

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

Designed by Tistory.