Получение SMS и автозаполнение входного текста HTML с помощью WebViewJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Получение SMS и автозаполнение входного текста HTML с помощью WebView

Сообщение Anonymous »

Я хочу получить смс-код активации и автозаполнение только кода (без текста) в указанном вводе после получения СМС, я получаю СМС, но остального не знаю.
Как мне это сделать?
html: AndroidManifest.xml: 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();
}
}
}
}
}
Хочу просто отделить код от текста сообщения и поместить его в поле после получения смс?

Подробнее здесь: https://stackoverflow.com/questions/782 ... by-webview
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»