Android

퍼미션 permission

Machine_웅 2020. 7. 14. 14:12
728x90
반응형

1. 코드

1)manifests에 사용할 권한을 등록합니다

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

 

 

2)메인코드

*앱이 실행되면 권한창을 띄워주고, 권한을 허가하지않으면 앱이 종료되는 코드

 

 

public class MainActivity extends AppCompatActivity {



    String[] permission_list = {

            Manifest.permission.WRITE_CONTACTS

    };



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);



        checkPermission();

    }





    public void checkPermission(){

        //현재 안드로이드 버전이 6.0미만이면 메서드를 종료한다.

        if(Build.VERSION.SDK_INT < Build.VERSION_CODES.M)

            return;



        for(String permission : permission_list){

            //권한 허용 여부를 확인한다.

            int chk = checkCallingOrSelfPermission(permission);



            if(chk == PackageManager.PERMISSION_DENIED){

                //권한 허용을여부를 확인하는 창을 띄운다

                requestPermissions(permission_list,0);

            }

        }

    }



    @Override

    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {

        super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        if(requestCode==0)

        {

            for(int i=0; i<grantResults.length; i++)

            {

                //허용됬다면

                if(grantResults[i]==PackageManager.PERMISSION_GRANTED){

                }

                else {

                    Toast.makeText(getApplicationContext(),"앱권한설정하세요",Toast.LENGTH_LONG).show();

                    finish();

                }

            }

        }

    }



}

 

3~5번째 줄에 필요한 권한을 스트링배열에 넣으면됩니다

43~44번째 줄은 권한을 하나라도 허용하지않으면, 앱이 종료되는 부분입니다



출처: https://wowon.tistory.com/148 [원원이의 블로그]

728x90
반응형

'Android' 카테고리의 다른 글

android pdf url 받아서 보여주기  (0) 2020.07.21
android 점선 테두리  (0) 2020.07.17
android 스크린샷 막기  (0) 2020.07.14
android dp to px , px to dp  (0) 2020.07.11
android Full Screen ( 안드로이드 전체 화면 )  (0) 2020.07.11