HOME 개발팁 Manifest.permission. 권한설정

프로그램 작업하다 좋은 팁, 정보, 테스트를 기록하는 곳입니다.


android | Manifest.permission. 권한설정

페이지 정보

작성자 굿스웹 작성일20-01-09 14:06 조회646회 댓글0건

본문

int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION);
    if(permissionCheck== PackageManager.PERMISSION_DENIED){
      // 권한 없음
      Toast.makeText(getApplicationContext(), "권한이 필요합니다.", Toast.LENGTH_SHORT).show();
      checkPermission();

    }else{
    }




  private void checkPermission(){
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {

      if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_COARSE_LOCATION)) {
        new AlertDialog.Builder(this)
                .setTitle("알림")
                .setMessage("위치기반 권한이 필요합니다.\n(설정) 클릭하고 해당 권한을 직접 허용하셔야 합니다.")
                .setNeutralButton("설정", new DialogInterface.OnClickListener() {
                  @Override
                  public void onClick(DialogInterface dialogInterface, int i) {
                    Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
                    intent.setData(Uri.parse("package:" + getPackageName()));
                    startActivity(intent);
                  }
                })
                .setPositiveButton("확인", new DialogInterface.OnClickListener() {
                  @Override
                  public void onClick(DialogInterface dialogInterface, int i) {
                    finish();
                  }
                })
                .setCancelable(false)
                .create()
                .show();
      } else {
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, MY_PERMISSION_STORAGE);
      }
    }
  }

  @Override
  public void onRequestPermissionsResult(int requestCode, String permissions[], int grantResults[]){
    switch(requestCode){
      case PERMISSIONS_REQUEST_RESULT :
        if(grantResults.length>0 && grantResults[0]== PackageManager.PERMISSION_GRANTED){
          Toast.makeText(getApplicationContext(), "승인함", Toast.LENGTH_SHORT).show();
        }else{
          Toast.makeText(getApplicationContext(), "거부함", Toast.LENGTH_SHORT).show();
        }
        break;
    }
  }

[주소복사] https://www.goodsweb.kr/?u=D41MbJRY
SNS 알리기
핀터레스트
텔레그램로
블로그로
카카오스토리
카톡 공유

관련 블로그
로딩중


1명  IP : 3.135.♡.193
001 141.♡.61.111 오류안내 페이지
(/bbs/login_check.php)

접속자
  • 오늘 : 155
  • 어제 : 364
  • 최대 : 874
  • 전체 : 401,977

검색로봇(Robots) 최근 방문시간
  • NAVER : 1시간 전
  • GOOGLE : 16시간 전
  • BING : 1일 전
  • DAUM : 5일 전

ETH : 0x8abf3B748ab78828AE07685e4fd53d1a606f18D3



페이스북 네이버 블로그 굿스웹 쇼핑몰 네이버 카페 굿스웹 트위터 굿스웹 티스토리 Google Play