【发布时间】:2015-05-01 07:40:51
【问题描述】:
我正在开发一个应用程序,我正在将接收到的 SMS 文本与现有字符串变量进行比较,如果文本 Match Toast 弹出,否则我做错了什么?
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
final Bundle bundle = intent.getExtras();
final String pwd = "123";
if(bundle != null)
{
final Object[] pdusObj = (Object[]) bundle.get("pdus");
for (int i = 0; i < pdusObj.length; i++) {
SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);
String phoneNumber = currentMessage.getDisplayOriginatingAddress();
String senderNum = phoneNumber;
String message = currentMessage.getDisplayMessageBody();
Log.i("SmsReceiver", "senderNum: "+ senderNum + "; message: " + message);
if(message == pwd)
{
// Show Alert
int duration = Toast.LENGTH_LONG;
Toast toast = Toast.makeText(context,
message, duration);
toast.show();
}
else
{
int duration = Toast.LENGTH_LONG;
Toast toast = Toast.makeText(context, "Doesn't match", duration);
toast.show();
}
} // end for loop
但条件并没有实现.. 总是“其他人的”吐司正在显示!
【问题讨论】:
标签: android string broadcastreceiver string-comparison