Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 通过从其他手机发送短信更改手机的网络状态_Android_Sms_Network State - Fatal编程技术网

Android 通过从其他手机发送短信更改手机的网络状态

Android 通过从其他手机发送短信更改手机的网络状态,android,sms,network-state,Android,Sms,Network State,我想通过从其他手机发送短信来更改手机的网络状态。可以这样做吗?您可以使用接收到的短信息广播接收器。当你收到某种短信时,你就可以开始工作了 Add it into your Manifest File <receiver android:name =".MyBroadcastReceiver"> <intent-filter> <action android:name="

我想通过从其他手机发送短信来更改手机的网络状态。可以这样做吗?

您可以使用接收到的短信息广播接收器。当你收到某种短信时,你就可以开始工作了

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);
            } 
        }
}
将其添加到清单文件中
//所需许可
导入android.content.BroadcastReceiver;
导入android.content.Context;
导入android.content.Intent;
导入android.os.Bundle;
导入android.telephony.sms消息;
导入android.util.Log;
导入android.widget.Toast;
//这是你们的广播接收机课程
公共类MyBroadcastReceiver扩展了BroadcastReceiver{
私有静态最终字符串标记=“MyBroadCastReceiver”;
@凌驾
公共void onReceive(上下文、意图){
Bundle bndl=intent.getExtras();
SmsMessage[]消息=null;
字符串str=“”;
如果(null!=bndl)
{
//****您检索短信****
Object[]pdus=(Object[])bndl.get(“pdus”);
msg=新SmsMessage[pdus.length];

对于(iTi=0;IIT是可能的。你有什么具体问题?我只是想改变我的设备的网络状态,当一个特定的代码作为文本消息从其他设备发送到我的设备。好的答案,尽管你可以考虑改变你在哪里有代码> toAST.MaKEXT……/代码>来显示一个改变网络状态的例子,这样你就可以回答这个问题了。陈述的问题。