๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“šํ”„๋กœ๊ทธ๋ž˜๋ฐ/๐Ÿ”Android Studio

Andriod Studio ) ๊ถŒํ•œ ํ™•์ธ ๋ฐ ๊ถŒํ•œ ์š”์ฒญ

by ||MELON|| 2024. 4. 8.

์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ๊ถŒํ•œ์„ ์š”์ฒญํ•˜๊ณ , ๊ถŒํ•œ์„ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์€ ๋ณต์žกํ•ด๋ณด์ด์ง€๋งŒ, ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ„๋‹จํ•˜๋‹ค.

 

 

    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />

๋งŒ์•ฝ ์ด๋Ÿฌํ•œ permission์ด ์žˆ๋‹ค๊ณ  ํ•˜์ž. ํ•ด๋‹น permission์€ ๋ธ”๋ฃจํˆฌ์Šค ๊ถŒํ•œ์ด๋‹ค. (permission์€ manifest ๋ฐ”๋กœ ์•„๋ž˜์— ์ง‘์–ด๋„ฃ๋Š”๋‹ค.)

 

 

 

๊ถŒํ•œ์„ ํ™•์ธํ•˜๋ ค๋ฉด

ActivityCompat.checkSelfPermission(this, Manifest.permission.๊ถŒํ•œ)

 

์ด๋Ÿฌํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

 

 

์˜ˆ๋ฅผ๋“ค์–ด ์œ„ 3๊ฐœ์˜ ๊ถŒํ•œ์„ ์ด๋ฏธ ๋ถ€์—ฌํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

        if (        ActivityCompat.checkSelfPermission(this, Manifest.permission.BLUETOOTH) == PackageManager.PERMISSION_DENIED ||
              ActivityCompat.checkSelfPermission(this, Manifest.permission.BLUETOOTH_ADMIN) == PackageManager.PERMISSION_DENIED ||
            ActivityCompat.checkSelfPermission(this, Manifest.permission.BLUETOOTH_CONNECT) == PackageManager.PERMISSION_DENIED    )
        {
            //That if user has not permission
            ActivityCompat.requestPermissions(this, PERMISSIONS, REQUEST_BLUETOOTH_PERMISSION);
        }
        else
        {
            Toast.makeText(this, "Permission was already activated", Toast.LENGTH_LONG).show();
        }

 

 

์—ฌ๊ธฐ์„œ ๋‹ค์Œ์˜ ์ฝ”๋“œ๋Š” ๊ถŒํ•œ์ด ๊ฑฐ๋ถ€๋จ์„ ์˜๋ฏธํ•œ๋‹ค.

PackageManager.PERMISSION_DENIED

 

 

๋งŒ์•ฝ ๊ถŒํ•œ์ด ์Šน์ธ๋จ์„ ์˜๋ฏธํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์›ํ•œ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์“ฐ๋ฉด ๋œ๋‹ค.

PackageManager.PERMISSION_GRANTED

 

 

 

๋Œ“๊ธ€