728x90
반응형
SMALL
안드로이드스튜디오 권한 설정에 대해서 알아보겠습니다.
일단 권한 설정은 안드로이드 6.0버전 이상인 icecream버젼 위인 api23부터
필수로 설정해주어야 합니다.
- 안드로이드스튜디오 권한설정
이 곳에 내용을 참고 하면 되고요~
제가 소스를 직접 적용해보니 제 안드로이드 폰은 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
'IT 관련,, > 안드로이드(java, kotlin등등) 관련 내용' 카테고리의 다른 글
[android/개발자]안드로이드 탐색기 앱 만들기~! (0) | 2019.12.21 |
---|---|
[android/개발자]안드로이드 메모장 앱 만들기 및 마무리하기-2 (0) | 2019.09.28 |
[android/개발자]웹 검색을 실행하기 위한 묵시적 인텐트를 정의하기~ (0) | 2019.08.26 |
[android/개발자]webview이용해서 사이트 연동하기~ (0) | 2019.08.23 |
[android/개발자]안드로이드 api23이상, 권한 요청 해주기~ (0) | 2019.07.28 |