Как запустить и остановить приложение после получения определенного смс-текста? - PullRequest
0 голосов
/ 02 июля 2018

Я разрабатываю приложение для Android с Android Studio, которое должно отправлять местоположение пользователя через смс, но я не знаю, как запустить приложение, только когда приложение получает определенный текст.

1 Ответ

0 голосов
/ 02 июля 2018

Инструкции можно найти здесь с одним дополнительным шагом, который я описал ниже в TODO.

public class IncomingSms extends BroadcastReceiver {

    // Get the object of SmsManager
    final SmsManager sms = SmsManager.getDefault();

    public void onReceive(Context context, Intent intent) {

        // Retrieves a map of extended data from the intent.
        final Bundle bundle = intent.getExtras();

        try {

            if (bundle != null) {

                final Object[] pdusObj = (Object[]) bundle.get("pdus");

                for (int i = 0; i < pdusObj.length; i++) {
                     //here you will get currentMsg body phoneNmber and senderNumber

                    SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);
                    String phoneNumber = currentMessage.getDisplayOriginatingAddress();

                    String senderNum = phoneNumber;
                    String message = currentMessage.getDisplayMessageBody();


                    //TODO launch app here!

                } // end for loop
              } // bundle is null

        } catch (Exception e) {
            Log.e("SmsReceiver", "Exception smsReceiver" +e);

        }
    }    
}
...