권한요청을 진행할 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(); } }); } }