[Android Q&A, Help & Troubleshooting] binboy007:
I want receive sms activation code and only code(no text) autofill in the specified input after receiving the SMS, I receiving SMS, but I don't know the rest.

How do i do?

html:

<form action="/auth/login" id="getactivcode" method="post" accept-charset="utf-8" autocomplete="off">

<input type="text" name="code" class="numeren" autocomplete="off" id="libino" maxlength="4">

</form>

AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.site.gilali">

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

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

<application

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:name=".ApplicationClass"

android:roundIcon="@mipmap/ic_launcher_round"

android:supportsRtl="true"

android:dataExtractionRules="@xml/data_extraction_rules"

android:fullBackupContent="@xml/backup_rules"

android:theme="@style/Theme.gilali">

<activity

android:exported="true"

android:name="com.site.gilali.MainActivity">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

<receiver android:exported="true" android:name=".ReceiveSms">

<intent-filter>

<action android:name="android.provider.Telephony.SMS_RECEIVED"/>

</intent-filter>

</receiver>

</application>

</manifest>

MainActivity.java:

package com.site.gilali;

import androidx.annotation.NonNull;

import androidx.appcompat.app.AppCompatActivity;

import android.Manifest;

import android.content.pm.PackageManager;

import android.os.Build;

import android.os.Bundle;

import android.webkit.WebView;

import android.webkit.WebViewClient;

import android.graphics.Bitmap;

import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import android.view.View;

import android.widget.ProgressBar;

public class MainActivity extends AppCompatActivity {

private WebView mWebView;

// ProgressBar progressBar;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mWebView = findViewById(R.id.web_view);

// progressBar = findViewById(R.id.progressBar);

String siteUrl = "https://gilali.com/";

mWebView.loadUrl(siteUrl);

mWebView.getSettings().setJavaScriptEnabled(true);

mWebView.setWebViewClient(new mWebViewClient());

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.RECEIVE_SMS)

!= PackageManager.PERMISSION_GRANTED){

requestPermissions(new String[]{Manifest.permission.RECEIVE_SMS}, 1000);

}

}

@Override

public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {

if(requestCode == 1000){

if(grantResults[0] == PackageManager.PERMISSION_GRANTED){

Toast.makeText(this, "Permission granted", Toast.LENGTH_SHORT).show();

}else {

Toast.makeText(this, "Permission not granted", Toast.LENGTH_SHORT).show();

finish();

}

}

}

private class mWebViewClient extends WebViewClient {

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

view.loadUrl(url);

return true;

}

@Override

public void onPageStarted(WebView view, String url, Bitmap favicon) {

super.onPageStarted(view, url, favicon);

// progressBar.setVisibility(View.VISIBLE);

// Toast.makeText(MainActivity.this, "Loading page...", Toast.LENGTH_SHORT).show();

}

@Override

public void onPageFinished(WebView view, String url) {

super.onPageFinished(view, url);

// progressBar.setVisibility(View.GONE);

// Toast.makeText(MainActivity.this, "Loading finished", Toast.LENGTH_SHORT).show();

}

}

public void onBackPressed(){

if(mWebView.canGoBack()){

mWebView.goBack();

}else{

super.onBackPressed();

}

}

}

ReceiveSms.java:

package com.site.gilali;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.os.Bundle;

import android.telephony.SmsMessage;

import android.widget.Toast;

public class ReceiveSms extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){

Bundle bundle = intent.getExtras();

SmsMessage[] msgs;

String msg_from;

if(bundle != null){

try{

Object[] pdus = (Object[]) bundle.get("pdus");

msgs = new SmsMessage[pdus.length];

for (int i = 0; i < msgs.length; i++){

msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);

msg_from = msgs[i].getOriginatingAddress();

String msgBody = msgs[i].getMessageBody();

Toast.makeText(context, "From: "+msg_from+", Body: "+msgBody, Toast.LENGTH_SHORT).show();

//msgBody -> active code:5241

}

} catch (Exception e){

e.printStackTrace();

}

}

}

}

}

i want just separate the code from the text of the message and place it in the field after receiving the sms?