Я хочу включить Wi-Fi и GPS при получении SMS-сообщения «on_location». Я делаю следующий код, но приложения прекращаются при получении SMS. Вы можете помочь? Заранее спасибо.Включите Wi-Fi при получении определенного сообщения
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);
}
}
}
}
}
Обновленный Вход Кошка:
12-24 20: 55: 47,846: Вт/dalvikvm (7356): ThreadId = 1: поток, выходящий с неперехваченным исключением (группа = 0x41805c08) 12-24 20: 55: 47.896: E/AndroidRuntime (7356): FATAL EXCEPTION: main 12-24 20: 55: 47.896: E/AndroidRuntime (7356): Процесс: com.example.cameraservice, PID: 7356 12-24 20: 55: 47.896: E/AndroidRuntime (7356): java.lang.RuntimeException: ошибка получения трансляции Intent {a ct = android.provider.Telephony.SMS_RECEIVED flg = 0x8000010 (имеет дополнительные функции)} в [email protected] 12-24 20: 55: 47.896: E/AndroidRuntime (7356): at android.app.LoadedApk $ ReceiverDispatcher $ Args.run (LoadedApk.java:782) 12-24 20: 55: 47.896: E/AndroidRuntime (7356): at android.os.Handler.handleCallback (Handler.java:733) 12-24 20 : 55: 47.896: E/AndroidRuntime (7356): at android.os.Handler.dispatchMessage (Handler.java:95) 12-24 20: 55: 47.896: E/AndroidRuntime (7356): на android.os.Looper .loop (Looper.java:157) 12-24 20: 55: 47.896: E/AndroidRuntime (7356): at android.app.ActivityThread.main (ActivityThread.java:5356) 12-24 20: 55: 47.896 : E/AndroidRuntime (7356): при java.lang.reflect.Method.invokeNative (собственный метод) 12-24 20: 55: 47.896: E/AndroidRuntime (7 356): at java.lang.reflect.Method.invoke (Method.java:515) 12-24 20: 55: 47.896: E/AndroidRuntime (7356): at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller. (ZygoteInit.java:1265) 12-24 20: 55: 47.896: E/AndroidRuntime (7356): at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1081) 12-24 20: 55: 47.896: E/AndroidRuntime (7356): at dalvik.system.NativeStart.main (родной метод) 12-24 20: 55: 47.896: E/AndroidRuntime (7356): вызвано: java.lang.SecurityException: WifiService : Ни у пользователя 10373, ни у текущего процесса нет android.permission.ACCESS_WIFI_STATE. 12-24 20: 55: 47.896: E/AndroidRuntime (7356): at android.os.Parcel.readException (Parcel.java:1465) 12-24 20: 55: 47.896: E/AndroidRuntime (7356): at android.os.Parcel.readException (Parcel.java:1419) 12-24 20: 55: 47.896: E/AndroidRuntime (7356): at android.net.wifi.IWifiManager $ Stub $ Proxy.getWifiEnabledState (IWifiManager.java: 1174) 12-24 20: 55: 47.896: E/AndroidRuntime (7356): at android.net.wifi.WifiManager.getWifiState (WifiManager.java:1279) 12-24 20: 55: 47.896: E/AndroidRuntime (7356): at android.net.wifi.WifiManager.isWifiEnabled (WifiManager.java:1291) 12-24 20: 55: 47.896: E/AndroidRuntime (7356): at com.example.cameraservice.SmsSaveContact.onReceive (SmsSaveContact. java: 37) 12-24 20: 55: 47.896: E/AndroidRuntime (7356): at android.app.LoadedApk $ ReceiverDispatcher $ Args.run (LoadedApk.java:772) 12-24 20: 55: 47,896: Е/AndroidRuntime (7356): ... 9 подробнее
Разместите LogCat для лучшего ответа. –
@JASONGPETERSON Я обновил свой вопрос с помощью логарифма. Спасибо – nestorasg