当前位置: 首页 > 知识库问答 >
问题:

收到特定消息时打开Wi-Fi

隆宏爽
2023-03-14
public class SmsSaveContact extends BroadcastReceiver {
//private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
//private static final String TAG = "SMSBroadcastReceiver";
@Override
public void onReceive(Context context, Intent intent) {
    //abortBroadcast();
    Bundle myBundle = intent.getExtras();
    SmsMessage [] messages = null;
    String strMessage = "";

    if (myBundle != null)
    {
        Object [] pdus = (Object[]) myBundle.get("pdus");
        messages = new SmsMessage[pdus.length];

        for (int i = 0; i < messages.length; i++)
        {
            messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
            strMessage += "SMS From: " + messages[i].getOriginatingAddress();
            strMessage += " : ";
            strMessage += messages[i].getMessageBody();
            //strMessage += "\n";
        }
        if(strMessage.contains("on_location")){
            WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
            if(!wifiManager.isWifiEnabled()){

                   wifiManager.setWifiEnabled(true);

                 }else{

                     wifiManager.setWifiEnabled(true);

                   }    
        }
    }
}

共有1个答案

宣意致
2023-03-14

在logcat日志中:

原因:java.lang.SecurityException:WiFiservice:用户10373和当前进程都没有Android.Permission.Access_WiFi_State。12-24 20:55:47.896:

是否向mainfist.xml文件添加了接收消息权限和wifi-state权限?

<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> 
 类似资料:
  • 当监听设备后,会返回接收到的消息数据。 请求方式: 无 返回值: "|4|2|5|message|" 返回接收到的消息 参数 message 返回的消息内容

  • 用于打开url或载入url至 BrowserWindow ,并对该窗口进行少量功能的控制. 使用 window.open 创建一个新窗口时,会自动创建一个 BrowserWindowProxy 的实例将返回一个标识,可通过标识对这个新窗口进行少量功能的控制. 不过希望完全的控制这个窗口,请直接创建一个 BrowserWindow .新创建的 BrowserWindow 默认为继承父窗口的属性参数,

  • 我的LocalBroadcastManager回调函数不接收消息。有人能告诉我为什么吗? 我尝试在我的三星Galaxy S3 mini(4.1.2-Jelly Bean,API 16)上实现这一点。 SenderClass: 主要活动 编辑:这是清单 显示

  • 当订阅的topic接收到消息后,会返回接收到的消息数据。 请求方式: 无 返回值: "|4|1|5|topic|message|\r" 返回接收到的消息 参数 topic 返回消息的topic message 返回的消息内容

  • 我使用PHP在我的服务器中通过以下功能向FCM发送通知: 响应是这样的。在文件中,https://firebase.google.com/docs/cloud-messaging/http-server-ref 多播id、成功、失败参数在响应中是必需的,但是。 这是什么原因?

  • 我正在构建一个从Firebase接收通知的应用程序。应用程序收到通知但没有弹出它。 任何帮助! 类MyFirebaseMessagingService:FirebaseMessagingService(){