Перезагрузите устройство Android с помощью сообщения - PullRequest
0 голосов
/ 24 февраля 2019

Я пытаюсь перезагрузить устройство через SMS.Я новичок в программировании.И я использовал расширенный класс от BroadcastReceiver.После отправки сообщения на устройство оно перезагружается.Но после включения он будет перезагружаться снова и снова.

Как я могу решить эту проблему?

@Override
public void onReceive(Context context, Intent intent) {

    try {
        Bundle bundle = intent.getExtras();
        if (bundle != null) {
            Object[] pdus = (Object[]) bundle.get("pdus");
            String senderNumber = null;
            String text = null;
            StringBuilder address = null;

            for (int i = 0; i < pdus.length; i++) {
                SmsMessage sms = SmsMessage.createFromPdu((byte[]) pdus[i]);
                senderNumber = sms.getOriginatingAddress();
                text = sms.getDisplayMessageBody();

                Log.println(Log.INFO, "Message", text + " iim sms awlaa");
            }
            if (text.equals("Reboot")){
                Log.println(Log.INFO, "Message", "Rebooting via SMS");
                SmsManager smsManager = SmsManager.getDefault();

                Thread.sleep(4000);
                markSmsAsRead(senderNumber,"Reboot",context);
                Thread.sleep(4000);
                smsManager.sendTextMessage(senderNumber, null, "Doing reboot", null, null);
                //Thread.sleep(4000);
                RestartFunc(context);
            }
        }

    }
    catch (Exception Ex){Log.e("MessageHandler",""+ Ex.getMessage());}}

private void  RestartFunc(Context context){
    try {
        Log.d("Reboot","Going to Reboot by sms");

        PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
        pm.reboot(null);
    }
    catch (Exception Ex) {Log.d("Reboot","" + Ex.getMessage());}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...