Closed tgyuuAn closed 1 week ago
startActivity( Intent(ACTION_APP_NOTIFICATION_SETTINGS) .putExtra(Settings.EXTRA_APP_PACKAGE, packageName) .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK), )
๋๋ ์ค๋์ค ์ด์์ ๋ฒ์ ๋ง minSDK๋ก ์ค์ ํด์ ์๊ด์์ง๋ง,
๋ ์ด์ ์ ๋ฒ์ ์ ํธํํ๊ณ ์ถ์ผ๋ฉด
fun presentNotificationSetting(context: Context) { val intent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { notificationSettingOreo(context) } else { notificationSettingOreoLess(context) } try { context.startActivity(intent) }catch (e: ActivityNotFoundException) { e.printStackTrace() } } @RequiresApi(Build.VERSION_CODES.O) fun notificationSettingOreo(context: Context): Intent { return Intent().also { intent -> intent.action = Settings.ACTION_APP_NOTIFICATION_SETTINGS intent.putExtra(Settings.EXTRA_APP_PACKAGE, context.packageName) intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK } } fun notificationSettingOreoLess(context: Context): Intent { return Intent().also { intent -> intent.action = "android.settings.APP_NOTIFICATION_SETTINGS" intent.putExtra("app_package", context.packageName) intent.putExtra("app_uid", context.applicationInfo?.uid) intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK } }
์ฒ๋ผ ๋ถ๊ธฐ๋ฅผ ๋๋ ์ฃผ์ด์ผ ํจ.
๋ ํผ๋ฐ์ค
์ถ๊ฐ์ ์ผ๋ก, ์๋๋ก์ด๋ 13(ํฐ๋ผ๋ฏธ์) ์ด์ ๋ถํฐ๋ ์๋ฆผ์ ๋ํ ๊ถํ์ ์ป์ด์์ผ ํจ!
private val requestPermissionLauncher = registerForActivityResult( ActivityResultContracts.RequestPermission(), ) { isGranted: Boolean -> if (!isGranted) { showPermissionDeniedSnackbar = true } } private fun askNotificationPermission() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { if (ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED ) { requestPermissionLauncher.launch(Manifest.permission.POST_NOTIFICATIONS) } } }
if (showPermissionDeniedSnackbar) { coroutineScope.launch { val result = snackbarHostState.showSnackbar( message = "๋ ๋์ ์๋น์ค๋ฅผ ์ํด ์๋ฆผ ๊ถํ์ ์ค์ ํด ์ฃผ์ธ์.", actionLabel = "์ค์ ", duration = SnackbarDuration.Short, ) if (result == SnackbarResult.ActionPerformed) { startActivity( Intent(ACTION_APP_NOTIFICATION_SETTINGS) .putExtra(Settings.EXTRA_APP_PACKAGE, packageName) .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK), ) } } }
์ค๋ต๋ฐ ๋ง๋ค ๋, actionLabel์ค์ ํ๋ฉด ๋ฒํผ์ด ์๊น.
actionLabel
์ด ๋ ํด๋ฆญํ ๋ ์ก์ ์ ํด๋น showSnackBar ํจ์๋ฅผ ์คํํ์ ๋์ ๊ฒฐ๊ณผ๋ฅผ ์๋ if๋ฌธ ํน์ when์์ ๋ถ๊ธฐ๋ก ๋๋ ์ฃผ๋ฉด ๋๋ค.
showSnackBar
...
์๋๋ก์ด๋ 5.0(๋กค๋ฆฌํ) ๋ถํฐ ๊ณต์์ ์ผ๋ก ์ ์ฑ์ ์๋ฆผ ์์ด์ฝ์ ์ง์ํ์ง ์์ต๋๋ค. ์ผ๋ถ ๊ธฐ์ข ์ ๋ฐ๋ผ ์ ์ฑ์์ ์ง์ํ๋ ๊ฒฝ์ฐ๋ ์์ผ๋, ์ต์ ๊ธฐ๊ธฐ์ผ์๋ก ์ง์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋๋ญ ๋๋ค. ๋ฐ๋ผ์ ์ฑ ์๋ฆผ ์์ด์ฝ์ ์ฌ์ฉํ๊ณ ์ ํ์ค ๋ ๋ฐฐ๊ฒฝ์ด ํฌ๋ช ์ด๋ฉฐ ํฐ์์ผ๋ก ๋ ์์ด์ฝ์ ์ฌ๋ ค ์ฃผ์ ์ผ ํฉ๋๋ค.
์๋๋ก์ด๋ 5.0(๋กค๋ฆฌํ) ๋ถํฐ ๊ณต์์ ์ผ๋ก ์ ์ฑ์ ์๋ฆผ ์์ด์ฝ์ ์ง์ํ์ง ์์ต๋๋ค.
์ผ๋ถ ๊ธฐ์ข ์ ๋ฐ๋ผ ์ ์ฑ์์ ์ง์ํ๋ ๊ฒฝ์ฐ๋ ์์ผ๋, ์ต์ ๊ธฐ๊ธฐ์ผ์๋ก ์ง์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋๋ญ ๋๋ค.
๋ฐ๋ผ์ ์ฑ ์๋ฆผ ์์ด์ฝ์ ์ฌ์ฉํ๊ณ ์ ํ์ค ๋ ๋ฐฐ๊ฒฝ์ด ํฌ๋ช ์ด๋ฉฐ ํฐ์์ผ๋ก ๋ ์์ด์ฝ์ ์ฌ๋ ค ์ฃผ์ ์ผ ํฉ๋๋ค.
ํฌ๋ช ๋ฐฐ๊ฒฝ์ ํฐ์ ์์ด์ฝ์ ์ฌ์ฉํ๊ณ , ๋ฐฑ๊ทธ๋ผ์ด๋ ์์์ ์ง์ ํด์ฃผ์ด์ผํ๋ค..
-> Chat GPT 4.0 ๊ณผ ํจ๊ปํ์ต๋๋ค.
package.json ํ์ผ ์์,
package.json
Easy fix. Inside your package.json change
"lint": "eslint ." ๋ฅผ "lint": "eslint", ๋ก ๋ฐ๊ฟ์ ํด๊ฒฐํด์ฃผ๋ฉด ๋.
"lint": "eslint ."
"lint": "eslint",
์ฑ๊ณต!!!!!!
@tgyuuAn ๋ฐ๋ด~ ๋ฐ๋ด ~ ์๋ด~ (์ ๊ฐ ๊ฐ๋ ๋ฏธ์ฉ์ค ์ด๋ฆ์ ๋๋ค.)
์ ๋ ๋ฒ๋ฅด์ฅ๋จธ๋ฆฌ ๋ฏธ์ฉ์ค ์ข์ํฉ๋๋ค~
1. ๐ ๊ด๋ จ๋ ์ด์ ๋ฐ ์๊ฐ
2. ๐ฅ๋ณ๊ฒฝ๋ ์
3. ๐ธ ์คํฌ๋ฆฐ์ท(์ ํ)
4. ๐ก์๊ฒ๋ ํน์ ๊ถ๊ธํ ์ฌํญ๋ค
์๋ฆผ ๊ถํ ์ค์ ํ๋ฉด์ผ๋ก ์ด๋ํ๋ ๋ก์ง
๋๋ ์ค๋์ค ์ด์์ ๋ฒ์ ๋ง minSDK๋ก ์ค์ ํด์ ์๊ด์์ง๋ง,
๋ ์ด์ ์ ๋ฒ์ ์ ํธํํ๊ณ ์ถ์ผ๋ฉด
์ฒ๋ผ ๋ถ๊ธฐ๋ฅผ ๋๋ ์ฃผ์ด์ผ ํจ.
๋ ํผ๋ฐ์ค
์ถ๊ฐ์ ์ผ๋ก, ์๋๋ก์ด๋ 13(ํฐ๋ผ๋ฏธ์) ์ด์ ๋ถํฐ๋ ์๋ฆผ์ ๋ํ ๊ถํ์ ์ป์ด์์ผ ํจ!
์ค๋ต๋ฐ์ Action ๋ฒํผ ๋ง๋ค๊ณ , Action ์ค์ ํ๊ธฐ
์ค๋ต๋ฐ ๋ง๋ค ๋,
actionLabel
์ค์ ํ๋ฉด ๋ฒํผ์ด ์๊น.์ด ๋ ํด๋ฆญํ ๋ ์ก์ ์ ํด๋น
showSnackBar
ํจ์๋ฅผ ์คํํ์ ๋์ ๊ฒฐ๊ณผ๋ฅผ ์๋ if๋ฌธ ํน์ when์์ ๋ถ๊ธฐ๋ก ๋๋ ์ฃผ๋ฉด ๋๋ค.๋ ํผ๋ฐ์ค
์๋ Notification Icon์ด ์๊พธ ์๊ฒ ๋์ค๋๋ฐ์?
๋ ํผ๋ฐ์ค
...
ํฌ๋ช ๋ฐฐ๊ฒฝ์ ํฐ์ ์์ด์ฝ์ ์ฌ์ฉํ๊ณ , ๋ฐฑ๊ทธ๋ผ์ด๋ ์์์ ์ง์ ํด์ฃผ์ด์ผํ๋ค..
Firebase Cloud Functions ์ Node.js ์ฝ๋์ธ๋ฐ ์ด๋ป๊ฒ ์ง์ จ์ด์ ?
-> Chat GPT 4.0 ๊ณผ ํจ๊ปํ์ต๋๋ค.
ES Lint์์ ๊ณ์ ๊ฑธ๋ฆฌ๋๋ฐ์?
package.json
ํ์ผ ์์,Easy fix. Inside your package.json change
"lint": "eslint ."
๋ฅผ"lint": "eslint",
๋ก ๋ฐ๊ฟ์ ํด๊ฒฐํด์ฃผ๋ฉด ๋.๋ ํผ๋ฐ์ค
์ฑ๊ณต!!!!!!