当前位置: 代码迷 >> java >> 如果消息中包含文本,请使用答案(Android Studio)
  详细解决方案

如果消息中包含文本,请使用答案(Android Studio)

热度:33   发布时间:2023-08-04 09:19:39.0

如果收到的消息带有文本“ 1”,则显示应用程序内消息“ Da”(已通过显示应用程序完成)

如果收到的消息没有文本“ 1”,则不显示应用程序。

主要活动:

public class MainActivity extends AppCompatActivity {


/* Button msg; */

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

  /* In beta mode
    PreferenceManager.setDefaultValues(this, R.xml.preferences, true); */
    setContentView(R.layout.activity_main);
    Bundle extras = getIntent().getExtras();
    if (extras != null) {
        String address = extras.getString("MessageNumber");
        String message = extras.getString("Message");
        TextView addressField = (TextView) findViewById(R.id.address);
        TextView messageField = (TextView) findViewById(R.id.message);
        addressField.setText("ALERT From : " + address);
        messageField.setText("ALERT Type : " + message);
    }
 /*   msg = (Button)findViewById(R.id.btn_msg);
    msg.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(getApplicationContext(), MainActivity.class);
            startActivity(intent);
        }
    });*/

SimpleSMSReciver类

公共类SimpleSmsReciever扩展了BroadcastReceiver {

private static final String TAG = "Message recieved";

@Override
public void onReceive(Context context, Intent intent) {
    Bundle pudsBundle = intent.getExtras();
    Object[] pdus = (Object[]) pudsBundle.get("pdus");
    SmsMessage messages =SmsMessage.createFromPdu((byte[]) pdus[0]);

    // Start Application's  MainActivty activity

    Intent smsIntent=new Intent(context,MainActivity.class);

    smsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    smsIntent.putExtra("MessageNumber", messages.getOriginatingAddress());

    smsIntent.putExtra("Message", messages.getMessageBody());

    context.startActivity(smsIntent);

    // Get the Sender Message : messages.getMessageBody()
    // Get the SenderNumber : messages.getOriginatingAddress()

    Toast.makeText(context, "Message Received From :"+messages.getOriginatingAddress()+"\n"+ messages.getMessageBody(), Toast.LENGTH_LONG).show();
}

如果收到的消息没有文本“ 1”,则不显示应用程序。

if(!extras.getString("Message").equals("1"))finish();
  相关解决方案