<receiver>
developer.android.com/guide/topics/manifest/receiver-element?hl=ko
<application>
...
<receiver android:directBootAware=["true" | "false"]
android:enabled=["true" | "false"]
android:exported=["true" | "false"]
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:permission="string"
android:process="string">
...
<intent-filter>...</intent-filter>
<meta-data>...</meta-data>
</receiver>
...
</application>
broadcast receiver(BroadcastReceiver ์๋ธํด๋์ค)๋ฅผ ์ ํ๋ฆฌ์ผ์ด์ ์ component๋ก ์ ์ธํ๋ค.
broadcast receiver๋ฅผ ์ฌ์ฉํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํ๋๊ณ ์์ง ์์ ๋์๋ ์์คํ ์ด๋ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ธ๋ก๋์ผ์คํ ํ๋ ์ธํ ํธ๋ฅผ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์ ํ ์ ์๋ค.
broadcast receiver๋ฅผ ์์คํ ์ ์๋ฆฌ๋ ๋ฐฉ๋ฒ ๋ ๊ฐ์ง ์ค ํ๋๊ฐ manifest ํ์ผ์ broadcast receiver๋ฅผ ์ ์ธํ๋ ๊ฒ. ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฝ๋์์ ๋ฑ๋กํ๋ ๋ฐฉ์.
์์ฑ
android:directBootAware
broadcast receiver๊ฐ ์ง์ ๋ถํ ์ ์ธ์(direct-boot aware)ํ๋์ง ์ฌ๋ถ. ์ฌ์ฉ์๊ฐ ๊ธฐ๊ธฐ๋ฅผ ์ ๊ธ ํด์ ํ๊ธฐ ์ ์ ์คํํ ์ ์๋์ง์ ์ฌ๋ถ. Lock ์ํ์์ ์ฑ์ด ๋์ํ ๊ฒ์ธ์ง์ ์ฌ๋ถ.
๊ธฐ๋ณธ๊ฐ์ false
android:enabled
์์คํ ์์ broadcast receiver๋ฅผ ์ธ์คํด์คํํ ์ ์๋์ง ์ฌ๋ถ. ํ ์ ์์ผ๋ฉด true, ํ ์ ์์ผ๋ฉด false.
<application>์ enabled ์์ฑ๋ true์ฌ์ผ์ง, <receiver>์ enabled true ์์ฑ์ด ์ ํจํ๋ค.
android:exported
broadcast receiver์ด ์ ํ๋ฆฌ์ผ์ด์ ์ธ๋ถ๋ก๋ถํฐ ์ค๋ ๋ฉ์์ง๋ฅผ ์์ ํ ์ ์๋์ง์ ์ฌ๋ถ.
true๋ ์์ ๊ฐ๋ฅ. false๋ ๋์ผํ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ๋์ผํ user ID๋ฅผ ๊ฐ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปดํฌ๋ํธ๊ฐ ๋ณด๋ธ ๋ฉ์์ง๋ง ์์ ๊ฐ๋ฅ.
๊ธฐ๋ณธ๊ฐ์ ์ธํ ํธ ํํฐ๊ฐ ์์ผ๋ฉด false, ์์ผ๋ฉด true. ์ธํ ํธ ํํฐ๊ฐ ํ๋ ์ด์ ์๋ค๋ ๊ฒ์ broadcast receiver๊ฐ ์์คํ ์ด๋ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ธ๋ก๋์บ์คํ ํ๋ ์ธํ ํธ๋ฅผ ์์ ํ๋ ค๊ณ ํ๋ค๋ ์๋ฏธ. ์ธํ ํธ ํํฐ๊ฐ ์๋ค๋ฉด ์ ํํ ํด๋์ค ์ด๋ฆ์ ์ง์ ํ๋ ์ธํ ํธ ๊ฐ์ฒด๋ง broadcast receiver๋ฅผ ํธ์ถํ ์ ์์ผ๋, receiver๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ด๋ถ์์๋ง ์ฌ์ฉํ๋ค๋ ์๋ฏธ.
permission ์์ฑ์ผ๋ก exported์ ๋น์ทํ ํจ๊ณผ๋ฅผ ์ค ์ ์๋ค๊ณ ํ๋ค.
android:icon
broadcast receiver๋ฅผ ๋ํ๋ด๋ ์์ด์ฝ. drawable resource ์ฐธ์กฐ๋ก ์ค์ ๋์ด์ผ ํ๋ค. ๊ธฐ๋ณธ๊ฐ์ <application>์ icon ๊ฐ.
android:label
์ฌ์ฉ์๊ฐ broadcast์ ๋ํด ์ฝ์ ์ ์๋ ๋ผ๋ฒจ. ์ด ์์ฑ์ด ์ค์ ๋์ง ์์ผ๋ฉด <application>์ label ๊ฐ์ด ์ฌ์ฉ๋๋ค.
broadcast receiver์ label์ receiver ์ธํ ํธ ํํฐ์ ๊ธฐ๋ณธ ๋ผ๋ฒจ์ด ๋๋ค.
ํ์งํ๋ ์ ์๊ฒ ๋ฌธ์์ด ๋ฆฌ์์ค ์ฐธ์กฐ๋ก ์ค์ ๋์ด์ผ ํจ. ๊ฐ๋ฐ ํธ์๋ฅผ ์ํด ์์ ๋ฌธ์์ด๋ก ์ค์ ๊ฐ๋ฅ.
android:name
broadcast receiver์ ํด๋์ค ์ด๋ฆ. BroadcastReceiver ํด๋์ค์ ์๋ธํด๋์ค.
์ ํ๋ฆฌ์ผ์ด์ ๊ฒ์๊ฐ ํ ๋ฒ์ด๋ผ๋ ์ด๋ค์ง ๊ฒฝ์ฐ, android:exported="false"๋ก ๋ณ๊ฒฝํ์ง ์๋ ํ, ์ด๋ฆ ๊ฐ์ ๋ณ๊ฒฝํ๋ฉด ์๋๋ค.
๊ธฐ๋ณธ๊ฐ์ ์๋ค. ๊ผญ ์ง์ ํด์ผ ํ๋ค.
android:permission
broadcaster๊ฐ broadcast receiver์๊ฒ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ๋ฐ ํ์ํ ๊ถํ ์ด๋ฆ.
์ด ์์ฑ์ด ์ค์ ๋์ด ์์ง ์์ผ๋ฉด <application>์ permission์์ฑ์ ๊ฐ์ง๊ฒ ๋๋ค.
์๋ฌด ์์ฑ๋ ์ค์ ๋์ด ์์ง ์์ผ๋ฉด receiver๊ฐ permission์ผ๋ก ๋ณดํธ๋์ง ์๋๋ค.
android:process
broadcast receiver๋ฅผ ์คํ์ํค๋ ํ๋ก์ธ์ค์ ์ด๋ฆ. ๋ณดํต ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปดํฌ๋ํธ๋ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ฉ์ผ๋ก ์์ฑ๋ ๊ธฐ๋ณธ ํ๋ก์ธ์ค์์ ์คํ๋๊ณ , ์ ํ๋ฆฌ์ผ์ด์ ํจํค์ง์ค ์ด๋ฆ์ด ๋์ผํ๋ค.