개발 이야기/Android

SMS Retriever API 사용 예제

디베로 2019. 1. 30. 13:56

android.permission.RECEIVE_SMS 권한 사용 금지


참고 링크 : https://developers.google.com/identity/sms-retriever/



1. dependencies 설정


1
2
3
dependencies {
    implementation 'com.google.android.gms:play-services-auth:16.0.1'
}
cs


2. 소스코드


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
private void initSmsRetrieverClient()
{
    SmsRetrieverClient mSmsClient = SmsRetriever.getClient(this);
    Task<Void> task = mSmsClient.startSmsRetriever();
    if(task != null){
        task.addOnSuccessListener(mGmsSuccessListener /*your callback method*/);
        task.addOnFailureListener(mGmsFailureListener /*your callback method*/);
    }
}
 
private OnSuccessListener mGmsSuccessListener = new OnSuccessListener()
{
    @Override
    public void onSuccess(Object o)
    {
        //AndroidManifest 에서 리시버를 추가하던지, 동적 리시버 추가
        //아래 filter 참고
        //IntentFilter filter = new IntentFilter(SmsRetriever.SMS_RETRIEVED_ACTION);
    }
};
 
private OnFailureListener mGmsFailureListener = new OnFailureListener()
{
    @Override
    public void onFailure(@NonNull Exception e)
    {
        
    }
};
 
 
cs



끝...


OnFailureListener 가 뜨는 경우가 있는데,

아마 단말에서 무슨 업데이트 하라는 팝업 같은게 나오는데, 그걸 확인 눌러야 한다.