如何在收到特定短信后启动和停止应用程序?

fcg9iug3  于 2022-09-21  发布在  Android
关注(0)|答案(1)|浏览(172)

我正在开发一个与Android工作室的Android应用程序,应该会通过短信发送用户的位置,但我不知道如何启动应用程序只有当应用程序收到特定的文本。

s5a0g9ez

s5a0g9ez1#

说明可以在here中找到,我在下面的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);

        }
    }    
}

相关问题