Android 如何通过向安装了应用程序的手机发送短信来命令应用程序执行某些功能?

Android 如何通过向安装了应用程序的手机发送短信来命令应用程序执行某些功能?,android,Android,就像Button press(OnClick Listener)一样,我希望通过向安装应用程序的设备发送短信来执行某些任务。编写SMSReceiver类,并从该类调用Button pressed的方法 SMSReceiver public class SMSReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { if (intent.getAc

就像Button press(OnClick Listener)一样,我希望通过向安装应用程序的设备发送短信来执行某些任务。

编写SMSReceiver类,并从该类调用Button pressed的方法

SMSReceiver

public class SMSReceiver extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction()
                .equals("android.provider.Telephony.SMS_RECEIVED")) {
            Bundle bundle = intent.getExtras();
            if (bundle != null) {
                Object[] pdusObj = (Object[]) bundle.get("pdus");
                SmsMessage[] messages = new SmsMessage[pdusObj.length];
                String body = null;
                // getting SMS information from Pdu.
                for (int i = 0; i < pdusObj.length; i++) {
                    messages[i] = SmsMessage.createFromPdu((byte[]) pdusObj[i]);
                }
                for (SmsMessage currentMessage : messages) {
                    // body has the actual message
                    body = currentMessage.getDisplayMessageBody();
                    if(body.equals("your message")) {
                        yourMethod(); //This method should be the same method called from Button press(onClickListener)
                    }
                }
            }
        }
    }
}
公共类SMSReceiver扩展了BroadcastReceiver{
公共void onReceive(上下文、意图){
if(intent.getAction()
.equals(“android.provider.Telephony.SMS_接收”)){
Bundle=intent.getExtras();
if(bundle!=null){
Object[]pdusObj=(Object[])bundle.get(“pdus”);
SmsMessage[]messages=新SmsMessage[pdusObj.length];
字符串体=null;
//正在从Pdu获取SMS信息。
对于(int i=0;i
并将其添加到manifest.xml的
标记之前:

 <receiver android:name="SMSReceiver" >
    <intent-filter>
        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
    </intent-filter>
</receiver>

你能说得更具体、更清楚吗?请参阅此