안드로이드 스튜디오 ( 오레오 ) MEMO

3. Activity 생성

권한요청을 진행할 Activity 를 생성한다.

 

Activity

package kr.co.wobstudio.samplea2_20180611.d0619;

import android.Manifest;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import com.gun0912.tedpermission.PermissionListener;
import com.gun0912.tedpermission.TedPermission;

import java.util.ArrayList;

import kr.co.wobstudio.samplea2_20180611.R;

public class TedPermissionActivity extends AppCompatActivity {

    //Layout 에서 생성한 Button 을 할당할 변수 생성
    Button btn_ted;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ted_permission);

        //변수에 Layout 의 버튼 할당
        btn_ted = findViewById(R.id.btn_ted);

        //버튼 클릭 시
        btn_ted.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {                
            //1.
                //오픈소스 제공 인터페이스 
                //      허용, 비허용 시 각 호출되는 메소드 오버라이딩
                //      해당시점에 동작 시키고자 하는 코드를 입력
)
                PermissionListener permissionlistener = new PermissionListener() {
                    @Override
                    // 허용하였을 경우 동작
                    public void onPermissionGranted() {
                        Toast.makeText(TedPermissionActivity.this, "Permission Granted", Toast.LENGTH_SHORT).show();
                    }
                    @Override
                    // 허용하지 않았을 경우 동작
                    public void onPermissionDenied(ArrayList<String> deniedPermissions) {
                        Toast.makeText(TedPermissionActivity.this, "Permission Denied\n" + deniedPermissions.toString(), Toast.LENGTH_SHORT).show();
                    }
                };
            //2.
                //1) 리스너 등록 ( 상단에서 오버라이딩한 인터페이스를 등록한다. ) 
                //2) 거절할 시 보여줄 메세지 등록
                //3) 필요한 permission 등록
                //4) check()
                TedPermission.with(TedPermissionActivity.this)
                        .setPermissionListener(permissionlistener)
                        .setDeniedMessage("If you reject permission,you can not use this service\n\nPlease turn on permissions at [Setting] > [Permission]")
                        .setPermissions(Manifest.permission.READ_SMS, Manifest.permission.RECEIVE_SMS,Manifest.permission.CAMERA)
                        .check();
            }
        });
    }
}

 

댓글

댓글 본문
작성자
비밀번호
버전 관리
gamza
현재 버전
선택 버전
graphittie 자세히 보기