Изменить состояние сети телефона с помощью отправки смс с другого телефона

Я хочу изменить состояние сети телефона, отправив SMS с другого телефона. возможно ли это сделать?

1 ответ

Решение

Вы можете использовать полученное SMS-сообщение приемника Boardcast. Когда вы получили определенный вид смс, вы можете делать свою работу.

Add it into your Manifest File
    <receiver
               android:name =".MyBroadcastReceiver">
            <intent-filter>
                  <action android:name="android.provider.Telephony.SMS_RECEIVED" />
              </intent-filter>
       </receiver>

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

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;
import android.widget.Toast;

//Here is your broadcast receiver class
public class MyBroadcastReceiver extends BroadcastReceiver{
    private static final String TAG = "MyBroadCastReceiver";
    @Override
    public void onReceive(Context context, Intent intent) {

             Bundle bndl = intent.getExtras();
            SmsMessage[] msg = null;
            String str = "";         
            if (null != bndl)
            {
                //**** You retrieve the SMS message ****
                Object[] pdus = (Object[]) bndl.get("pdus");
                msg = new SmsMessage[pdus.length];         
                for (int i=0; i<msg.length; i++){
                    msg[i] = SmsMessage.createFromPdu((byte[])pdus[i]);             
                    str += "SMS From " + msg[i].getOriginatingAddress();                   
                    str += " :\r\n";
                    str += msg[i].getMessageBody().toString();
                    str += "\n";
                }
                //---display incoming SMS as a Android Toast---
                System.out.Println(str);
            } 
        }
}
Другие вопросы по тегам