问题描述
如果收到的消息带有文本“ 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楼
如果收到的消息没有文本“ 1”,则不显示应用程序。
if(!extras.getString("Message").equals("1"))finish();