IT 관련,,/안드로이드(java, kotlin등등) 관련 내용

[android/개발자]안드로이드 메모장 앱 만들기 및 권한설정-1

IT깡패's 2019. 9. 28. 14:18
728x90
반응형
SMALL

안드로이드스튜디오 권한 설정에 대해서 알아보겠습니다.

일단 권한 설정은 안드로이드 6.0버전 이상인 icecream버젼 위인 api23부터

필수로 설정해주어야 합니다.

 

- 안드로이드스튜디오 권한설정

https://wowon.tistory.com/148 

 

이 곳에 내용을 참고 하면 되고요~

제가 소스를 직접 적용해보니 제 안드로이드 폰은 6.0미만 되어서

api23이상을 사용하는 데도 권한 설정이 안되더라고요~

그래서 권한설정 부분을 역슬래시로 치환해놓았습니다.

 

- 권한 소스 설정 manifest에 등록

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

 

그리고 나선 MainActivity쪽에 api권한을 주는 소스를 입력해줍니다.

 

- MainActivity 권한 설정

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();
                }
            }
        }
    }
 
}

 

이런 식으로 넣어주면 권한이 허용할 경우 권한 요청이

화면 뜨고요. 아니면 앱권한설정하세요라는 토스트문구가 뜨면서 앱이 종료되게 됩니다.

728x90
반응형
LIST