Skip to content

๐Ÿ“ ์œ„์น˜ ๊ถŒํ•œ ํ—ˆ์šฉ์— ๋”ฐ๋ฅธ ๋ฉ”์ธ ํ™”๋ฉด flow

saeyoung Oh edited this page Dec 12, 2023 · 1 revision

์–ดํ”Œ ํŠน์„ฑ์ƒ ์œ„์น˜ ๊ถŒํ•œ๊ณผ GPS ON ์—ฌ๋ถ€์— ๋”ฐ๋ผ ํ™ˆํ™”๋ฉด์—์„œ์˜ flow ๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค.



ํ™ˆ - ์ง€๋„

  • ํ™ˆ ์ง€๋„ ํ™”๋ฉด์—์„œ๋Š” ์œ„์น˜ ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ์œ ์ €์˜ ์œ„์น˜ ํŠธ๋ž˜ํ‚น ๊ธฐ๋Šฅ์ด ์ •์ƒ์ ์œผ๋กœ ์ œ๊ณต๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, setting ์ฐฝ์œผ๋กœ ์ด๋™์‹œ์ผœ ํ—ˆ์šฉ๋œ ์ƒํƒœ๊ฐ€ ์•„๋‹Œ ๊ถŒํ•œ์„ ์š”์ฒญํ•˜๋„๋ก ๊ตฌํ˜„ํ–ˆ๋‹ค.

Group 2608573 (1)


ํ™ˆ - ๊ฒ€์ƒ‰

  • ํ™ˆ ์ง€๋„ ํ™”๋ฉด์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์Œ์‹์  ๊ฒ€์ƒ‰ ํ™”๋ฉด์—์„œ๋Š”, ์œ ์ €๊ฐ€ ํ˜„ ์œ„์น˜๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์•„๋„ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ถŒํ•œ ํ—ˆ์šฉ๊ณผ ๊ด€๋ จํ•œ Toast message ๋งŒ์„ ์ œ๊ณตํ•˜๋„๋ก ๊ตฌํ˜„ํ–ˆ๋‹ค.

Group 2608574



๐Ÿ“• ๊ถŒํ•œ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• ์ •๋ฆฌ

๊ฐœ์š”

๊ถŒํ•œ์€ ์‹œ๊ฐ„๊ถŒํ•œ / ๋Ÿฐํƒ€์ž„ ๊ถŒํ•œ / ํŠน๋ณ„๊ถŒํ•œ ๋“ฑ ๋‹ค์–‘ํ•œ ์œ ํ˜•์œผ๋กœ ๋ถ„๋ฅ˜๋จ

์šฐ๋ฆฌ๊ฐ€ ์ฝ”๋“œ์ƒ์œผ๋กœ ๋‹ค๋ฃจ๊ฒŒ ๋  ๊ถŒํ•œ๋“ค์€ ๋Ÿฐํƒ€์ž„ ๊ถŒํ•œ์— ์†ํ•จ

  • ์•ฑ์—์„œ ์ œํ•œ๋œ ๋ฐ์ดํ„ฐ์— ์ถ”๊ฐ€๋กœ ์—‘์„ธ์Šค ํ• ๋•Œ
  • ์‹œ์Šคํ…œ๊ณผ ๋‹ค๋ฅธ์•ฑ์— ๋” ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์ž‘์—… ์‹คํ–‰ํ• ๋•Œ

๊ถŒํ•œ ์›์น™

  • ๊ถŒํ•œ์ด ์ด์ „์— ๋ถ€์—ฌ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ง€ ๋ง๊ฒƒ
    • ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ถŒํ•œ์š”์ฒญ์„ ์•ˆํ•ด๋„ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋‹ค์ˆ˜์ž„(๊ฐค๋Ÿฌ๋ฆฌ์ ‘๊ทผ, ์นด๋ฉ”๋ผ ์ ‘๊ทผ ๋“ฑ)
    • ํ•˜์ง€๋งŒ ๊ถŒํ•œ์š”์ฒญ ํ”Œ๋กœ์šฐ๋Š” ๊ผญ ์„ค์ •ํ•ด ๋†“์„ ๊ฒƒ
  • ์ตœ์†Œ ๊ฐœ์ˆ˜์˜ ๊ถŒํ•œ๋งŒ ์š”์ฒญํ• ๊ฒƒ
    • ๋”ฑ ํ•„์š”ํ•œ ๊ถŒํ•œ๋งŒ ์š”์ฒญํ• ๊ฒƒ
  • ์ตœ๋Œ€ํ•œ ์•ฑ์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€ ํ๋ฆ„์—์„œ, ๋Šฆ๊ฒŒ ๊ถŒํ•œ์„ ์š”์ฒญํ•  ๊ฒƒ
    • ๋ฏธ๋ฆฌ ๊ถŒํ•œ์š”์ฒญ์„ ๋ฐ›์ง€ ๋ง๊ณ , ๊ถŒํ•œ์ด ํ•„์š”ํ•œ ํ–‰๋™์„ ํ• ๋•Œ ๊ถŒํ•œ์š”์ฒญ์„ ๋ฐ›์„๊ฒƒ
  • ๊ถŒํ•œ ํ•„์š” ์ž‘์—… ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค, ๊ถŒํ•œ์ด ๋ถ€์—ฌ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผํ•จ

๊ถŒํ•œ ์„ ์–ธ

  • 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
Clone this wiki locally