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 |