-
Notifications
You must be signed in to change notification settings - Fork 0
๐ ์์น ๊ถํ ํ์ฉ์ ๋ฐ๋ฅธ ๋ฉ์ธ ํ๋ฉด flow
saeyoung Oh edited this page Dec 12, 2023
·
1 revision
ํ - ์ง๋
- ํ ์ง๋ ํ๋ฉด์์๋ ์์น ๊ถํ์ด ์์ด์ผ ์ ์ ์ ์์น ํธ๋ํน ๊ธฐ๋ฅ์ด ์ ์์ ์ผ๋ก ์ ๊ณต๋ ์ ์๊ธฐ ๋๋ฌธ์, setting ์ฐฝ์ผ๋ก ์ด๋์์ผ ํ์ฉ๋ ์ํ๊ฐ ์๋ ๊ถํ์ ์์ฒญํ๋๋ก ๊ตฌํํ๋ค.
ํ - ๊ฒ์
- ํ ์ง๋ ํ๋ฉด์์ ์ ๊ทผ ๊ฐ๋ฅํ ์์์ ๊ฒ์ ํ๋ฉด์์๋, ์ ์ ๊ฐ ํ ์์น๋ฅผ ์ ๊ณตํ์ง ์์๋ ๊ฒ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋๋ก ๊ถํ ํ์ฉ๊ณผ ๊ด๋ จํ Toast message ๋ง์ ์ ๊ณตํ๋๋ก ๊ตฌํํ๋ค.
๊ถํ์ ์๊ฐ๊ถํ / ๋ฐํ์ ๊ถํ / ํน๋ณ๊ถํ ๋ฑ ๋ค์ํ ์ ํ์ผ๋ก ๋ถ๋ฅ๋จ
์ฐ๋ฆฌ๊ฐ ์ฝ๋์์ผ๋ก ๋ค๋ฃจ๊ฒ ๋ ๊ถํ๋ค์ ๋ฐํ์ ๊ถํ์ ์ํจ
- ์ฑ์์ ์ ํ๋ ๋ฐ์ดํฐ์ ์ถ๊ฐ๋ก ์์ธ์ค ํ ๋
- ์์คํ ๊ณผ ๋ค๋ฅธ์ฑ์ ๋ ํฐ ์ํฅ์ ๋ฏธ์น๋ ์์ ์คํํ ๋
- ๊ถํ์ด ์ด์ ์ ๋ถ์ฌ๋์๋ค๊ณ ๊ฐ์ ํ์ง ๋ง๊ฒ
- ์ฌ์ฉ์์๊ฒ ๊ถํ์์ฒญ์ ์ํด๋ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋๋ค์์(๊ฐค๋ฌ๋ฆฌ์ ๊ทผ, ์นด๋ฉ๋ผ ์ ๊ทผ ๋ฑ)
- ํ์ง๋ง ๊ถํ์์ฒญ ํ๋ก์ฐ๋ ๊ผญ ์ค์ ํด ๋์ ๊ฒ
- ์ต์ ๊ฐ์์ ๊ถํ๋ง ์์ฒญํ ๊ฒ
- ๋ฑ ํ์ํ ๊ถํ๋ง ์์ฒญํ ๊ฒ
- ์ต๋ํ ์ฑ์ ์ฌ์ฉ ์ฌ๋ก ํ๋ฆ์์, ๋ฆ๊ฒ ๊ถํ์ ์์ฒญํ ๊ฒ
- ๋ฏธ๋ฆฌ ๊ถํ์์ฒญ์ ๋ฐ์ง ๋ง๊ณ , ๊ถํ์ด ํ์ํ ํ๋์ ํ ๋ ๊ถํ์์ฒญ์ ๋ฐ์๊ฒ
- ๊ถํ ํ์ ์์ ์คํํ ๋๋ง๋ค, ๊ถํ์ด ๋ถ์ฌ๋์๋์ง ํ์ธํด์ผํจ
- manifest ํ์ผ์ uses-permission ์ ํตํด ์ ์ธํ๋ค
- ํ๋์จ์ด๋ฅผ ์ ํ์ฌํญ์ผ๋ก ์ ์ธ
- CAMERA ์ ๊ฐ์ ์ผ๋ถ ๊ถํ์, ํด๋น ๊ด๋ จ ํ๋์จ์ด๋ฅผ ๋ณด์ ํ๊ณ ์๋ ๊ธฐ๊ธฐ์์๋ง ์์ธ์ค ํ๋๋ก ํ์ฉ
- uses-feature ์์ camera required ๋ฅผ false ๋ก ๋์ผ๋ฉด, ์นด๋ฉ๋ผ๊ฐ ์๋ ๊ธฐ๊ธฐ๋ ์ฑ ๋ค์ด ๊ฐ๋ฅ
- uses-feature ์์ camera required ๋ฅผ true๋ก ๋๊ฑฐ๋ ์ ์ธํ์ง ์์ผ๋ฉด, ์นด๋ฉ๋ผ ์๋ ๊ธฐ๊ธฐ๋ ์ฑ๋ค์ด ๋ชปํ๊ฒ ๋งํ
<manifest ...>
<application>
...
</application>
<uses-feature android:name="android.hardware.camera"android:required="false" />
<manifest>
- API ๋ ๋ฒจ ๋ณ ๊ถํ ์ ์ธ
- uses-permission-sdk-23 ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก, ํน์ API ๋ ๋ฒจ ์ด์์ ์คํํ๋ ๊ธฐ๊ธฐ์๋ง ๊ถํ์ ์ ์ธํ ์ ์๋ค
- manifest ์ ๊ถํ ์ ์ธ
- ํน์ ์์ ์ ํ์ํ ๊ถํ์, ์์ ์งํ ์ง์ ์ ํธ์ถ๋๋๋ก ์ค๊ณ
- ์ฌ์ฉ์๊ฐ ์ด๋ฏธ ๋ฐํ์ ๊ถํ์ ๋ถ์ฌํ๋์ง ํ์ธ
ContextCompat.checkSelfPermission()
- ๊ถํ ํ์ ์์ ์คํํ ๋๋ง๋ค, ๊ถํ ์๋์ง ํ์ธ
- ์ฑ์์, ๊ถํ ์์ฒญ์ ๋ํ ๊ทผ๊ฑฐ ํ์ (UI ์์)
- ๋ฐํ์ ๊ถํ ์์ฒญ
ActivityCompat.requestPermissions
- ๋ฐํ์ ๊ถํ ๋ถ์ฌ ์ ํ ์ฌ๋ถ, ์ฌ์ฉ์ ์๋ต ํ์ธ
onRequestPermissionResult
-
๐ฌ ํ ํ๊ณ
-
๐โโ๏ธ ๊ฐ์ธ ํ๊ณ