본문 바로가기
안드로이드/개발자 일상

안드로이드 앱 권한 요청 라이브러리 AutoPermissions

by 차누감 2020. 3. 17.
반응형

안드로이드를 사용하면서 어떤 기능을 사용하기 위해 퍼미션을 준다.

그런데 일일히 퍼미션을 여부를 사용자에게 물어보는 작업이 불편하다. 

그래서 자동 해주는 라이브러리가 있다.

 

아래 링크에 라이브러리 주소를 남긴다.

https://github.com/pedroSG94/AutoPermissions

 

pedroSG94/AutoPermissions

Android library to get permissions with a simple line of code - pedroSG94/AutoPermissions

github.com

<실행 화면> Manifest에 퍼미션을 주고 라이브러리를 이용해서 쉽게 권한 여부를 묻는다.


AutoPermissions 라이브러리를 추가하자.

1
2
3
4
5
allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}
 
1
2
3
4
dependencies {
 
}
 

권한 요청을 하기 위해 임의로 외부 저장소 퍼미션을 주었다. 

1
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

이제 MainActivity에 구현을 해보자. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
import androidx.annotation.NonNull;
 
 
 
public class MainActivity extends AppCompatActivity implements AutoPermissionsListener {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        AutoPermissions.Companion.loadAllPermissions(this,101);
    }
 
    @Override
    public void onDenied(int i, String[] strings) {
    }
 
    @Override
    public void onGranted(int i, String[] strings) {
    }
 
    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        AutoPermissions.Companion.parsePermissions(this, requestCode, permissions, this);
        Toast.makeText(this"requestCode : "+requestCode+"  permissions : "+permissions+"  grantResults :"+grantResults, Toast.LENGTH_SHORT).show();
    }
}
 
 

<실행 화면>

 

<추가>

안드로이드 개발자 사이트 권한 자료

https://developer.android.com/training/permissions/requesting#java

 

앱 권한 요청  |  Android 개발자  |  Android Developers

모든 Android 앱은 액세스가 제한된 샌드박스에서 실행됩니다. 자체 샌드박스 밖에 있는 리소스나 정보를 앱이 사용해야 하는 경우에는 앱이 적절한 권한을 요청해야 합니다. 앱에 권한이 필요하다고 선언하려면 권한을 앱 manifest에 표시한 후 사용자가 런타임에 각 권한을 승인하도록 요청합니다(Android 6.0 이상). 이 페이지에서는 Android 지원 라이브러리를 사용하여 권한을 확인하고 요청하는 방법을 설명합니다. Android 프레임워크는 A

developer.android.com

안드로이드 개발자 사이트 권한 그룹

https://developer.android.com/guide/topics/security/permissions#perm-groups

 

시스템 권한  |  Android 개발자  |  Android Developers

Permissions Google I/O 2015—Android M Permissions: Best Practices for Developers Android is a privilege-separated operating system, in which each application runs with a distinct system identity (Linux user ID and group ID). Parts of the system are…

developer.android.com

 

반응형

댓글