[JAVA] Wenn Sie einen Anruf erhalten, senden Sie eine SMS an diese Nummer

Was zu AndroidManifest.xml hinzufügen

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

Wie es geschrieben steht,

Java

Beschreibung des Telefons

TelephonyManager und PhoneStateListener tun etwas dagegen.

TelephonyManager telephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
telephonyManager.listen(new PhoneStateListener(){
	@Override
	public void onCallStateChanged(int state, String number) {
		//Der Status ist die Nummer, die den Status angibt, und die Nummer ist die Nummer, die beim Empfang des Anrufs empfangen wurde.
		switch(state) {
			//Eingehendes Ereignis
			case TelephonyManager.CALL_STATE_RINGING:
				System.out.println(number + "Es ist ein eingehender Anruf von Mr.");
				break;
			//Ereignis zu Beginn eines Anrufs
			case TelephonyManager.CALL_STATE_OFFHOOK:
				System.out.println("Ich fing an zu reden");
				break;
			//Beim Wechsel in den Standby-Zustand(Wenn du auflegst)Veranstaltung
			case TelephonyManager.CALL_STATE_IDLE:
				System.out.println("Ich habe aufgelegt");
				break;
		}
	}
}, PhoneStateListener.LISTEN_CALL_STATE);

Beschreibung zu SMS

SmsManager macht einen guten Job.

sendTextMessage-Methode

Senden Sie textbasierte SMS. Ich muss nur eine SMS senden, damit ich zu einem anderen Zeitpunkt die Details untersuchen kann.

Streit
  1. String destinationAddress --Zieladresse
  2. String scAddress
  1. String text --Nachrichteninhalt
  2. PendingIntent sentIntent
  1. PendingIntent deliveryIntent
String number = "09000000000";	//Zielrufnummer

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(
	number,
	null,
    "Hello",
    null,
    null
);

Endgültige Beschreibung

Senden Sie eine einfache Nachricht an die Person, die Sie angerufen hat, und sagen Sie einfach "Hey !!".

MainActivity.java


package example.com.sample003;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.telephony.PhoneStateListener;
import android.telephony.SmsManager;
import android.telephony.TelephonyManager;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // -----Das Wichtigste ist ↓ von hier ↓----- //
        TelephonyManager telephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
        telephonyManager.listen(new PhoneStateListener() {
            @Override
            public void onCallStateChanged(int state, String number) {
                //Der Status ist die Nummer, die den Status angibt, und die Nummer ist die Nummer, die beim Empfang des Anrufs empfangen wurde.
                switch (state) {
                    //Eingehendes Ereignis
                    case TelephonyManager.CALL_STATE_RINGING:
                        SmsManager smsManager = SmsManager.getDefault();
                        smsManager.sendTextMessage(
                                number,
                                null,
                                "Hey!!",
                                null,
                                null
                        );
                        break;
                    //Ereignis zu Beginn eines Anrufs
                    case TelephonyManager.CALL_STATE_OFFHOOK:
                        break;
                    //Beim Wechsel in den Standby-Zustand(Wenn du auflegst)Veranstaltung
                    case TelephonyManager.CALL_STATE_IDLE:
                        break;
                }
            }
        }, PhoneStateListener.LISTEN_CALL_STATE);
        // -----↑ Bis hierher ↑----- //
    }
}

Bonus

Beispiel

Recommended Posts

Wenn Sie einen Anruf erhalten, senden Sie eine SMS an diese Nummer
Wie erstelle ich ein Vagrant Plugin, das Sie gelernt haben, als Sie Vagrant-Mutagen gegabelt und veröffentlicht haben?
Ein Einführungsbuch zum Starten von Rails
Hinweise zur Überprüfung bei der Verwendung von Lombok
So ändern Sie eine Zeichenfolge in einem Array in eine Zahl in Ruby
Ich möchte eine Methode aufrufen und die Nummer zählen
[Swift] Wenn Sie wissen möchten, ob die Anzahl der Zeichen in String mit einer bestimmten Anzahl übereinstimmt ...
Was tun, wenn in einer Lightweight-JRE eine UnsupportedCharsetException auftritt?
Einstellung, die in bind.pry konvertiert wird, wenn Sie pry in VScode eingeben
Was tun bei Problem während der Inhaltsunterstützung?
Was tun, wenn Sie mit Docker-Compose auf das Problem node_modules stoßen?
Erstellen einer ArrayList, mit der Sie die Koordinaten einer zweidimensionalen Ebene eingeben und abrufen können
Senden Sie eine Pull-Anfrage an GitHub
[Swift] So senden Sie eine Benachrichtigung
Ein Memo, wenn Sie den Zeitteil des Kalenders löschen möchten
Wenn Rails eine Sitzung für einen bestimmten Controller deaktivieren soll
Die Geschichte eines arithmetischen Überlaufs, der in Ruby nicht auftreten sollte
Was tun, wenn die Meldung "Ein Server läuft bereits" angezeigt wird. Fehler beim Versuch, den Rails-Server zu starten
Sind Sie immer noch erschöpft von der Beispielvideosuche? Eine Schaltfläche zum Senden von FANZA-Videos an Slack, wenn diese gedrückt wird.
Bei der Einführung von JOOQ in Spring Boot wurde eine Geschichte behandelt, die behandelt wurde, weil bei Liquidbase ein Fehler aufgetreten ist