2014-09-02 6 views
-2

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

+0

Возможно. Какая конкретная проблема у вас есть? –

+0

Я просто хочу изменить состояние сети своего устройства, когда конкретный код как текстовое сообщение отправляется на мое устройство из другого. –

ответ

2

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

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); 
      } 
     } 
} 
+1

Хороший ответ, хотя вы можете подумать о том, чтобы изменить, где у вас есть «Toast.makeText ...», чтобы показать пример изменения состояния сети [как в этом ответе] (http://stackoverflow.com/a/8863540/716588) чтобы вы ответили на указанный вопрос. – CodeMonkey