Giter Site home page Giter Site logo

smsreceiver's Introduction

SMS Receiver with SMS Retriever API

This is simple library for receiving sms in android with new SMS Retriever API.

Usage

Step 1. Add the JitPack repository to your build file

Add it in your root build.gradle at the end of repositories:

allprojects {
	repositories {
		...
		maven { url 'https://www.jitpack.io' }
	}
}

Step 2. Add the dependency

dependencies {
	implementation 'com.github.pravinkumarputta:smsreceiver:latest_version'
}

Step 3. Register receiver to your manifest file

<receiver android:name="com.pravinkumarputta.android.smsreceiver.SMSBroadcastReceiver" android:exported="true">
	<intent-filter>
		<action android:name="com.google.android.gms.auth.api.phone.SMS_RETRIEVED"/>
	</intent-filter>
</receiver>

Step 4. Instantiate SMSReceiver

SMSBroadcastReceiver.OTPReceiveListener smsReceiverCallback = new SMSBroadcastReceiver.OTPReceiveListener() {
	@Override
	public void onSMSReceiverStarted() {

	}

	@Override
	public void onSMSReceiverFailed(Exception exception) {

	}

	@Override
	public void onSMSReceived(String message) {

	}

	@Override
	public void onSMSReceiverTimeOut() {

	}
};

SMSReceiver smsReceiver = SMSReceiver(context, smsReceiverCallback)

Step 5. Call startSmsListener() method to start receiving

smsReceiver.startSmsListener() // It stops receiving after one message received

Construct a verification message

The verification message that you will send to the user's device. This message must:

  • Be no longer than 140 bytes
  • Begin with the prefix <#>
  • Contain a one-time code that the client sends back to your server to complete the verification flow (see Generating a one-time code)
  • End with an 11-character hash string that identifies your app (see Computing your app's hash string)

Otherwise, the contents of the verification message can be whatever you choose. It is helpful to create a message from which you can easily extract the one-time code later on. For example, a valid verification message might look like the following:

<#> Your ExampleApp code is: 123ABC78
FA+9qCX9VSu

(For more information visit here)

Generating 11-character hash string for your app

After instantiating SMSReceiver access hash string using:

SMSReceiver.getHashKey(context)

Request for phone number saved in your device

SMSReceiver.requestForPhoneNumber(activity)

Above method call activity for result, so you have to implement onActivityResult in your activity. Copy and paste below code into onActivityResult.

String phoneNumber = SMSReceiver.getPhoneNumberFromResult(requestCode, resultCode, data); // returns null if phone number not selected.

smsreceiver's People

Contributors

pravinkumarputta avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.