iOS에서는 초기부터 사용하던 기능인데, 안드로이드는 6.0 마시멜로우부터 지원한다.
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
이 기능이 필요하다면, 필요한 시기에 이렇게 호출하면 된다.
private void requestPermission() { // 설명: http://googledevkr.blogspot.kr/2015/09/android60runtimepermission.html // 마시멜로우 이상 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { // 권학을 획득하지 않았다면 if (checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { // 권한 요청 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE}, 123); } else doSomething(); } else doSomething(); } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); for (int i = 0; i < permissions.length; i++) { String p = permissions[i]; if (p.equals(Manifest.permission.READ_PHONE_STATE) && grantResults[i] == PackageManager.PERMISSION_GRANTED) doSomething(); } } private void doSomething() { // do something }
가장 단순하게 했더니 이렇게 되더라.
http://googledevkr.blogspot.kr/2015/09/android60runtimepermission.html 에 가면 더 자세한 정보가 있다.