程序接收了短信广播,从中获取了发信人号码,然后与预设的号码比较,结果却是恒为否。代码如下:
Object[] pdus = (Object[]) intent.getExtras().get("pdus");
for(Object p : pdus){
byte[] sms = (byte[]) p;
SmsMessage message = SmsMessage.createFromPdu(sms);
String number = message.getOriginatingAddress();
if(number=="661"); // DO……
}
明明发送号码是661结果判断就是为否,Log.i输出number显示也为"661"
另外如何从在这个intent中获取收信号码呢?(因为手机是双卡双待,需要区别一下是发到哪个卡的短信)android第一问,可能问题比较弱智,请大家指教。
Object[] pdus = (Object[]) intent.getExtras().get("pdus");
for(Object p : pdus){
byte[] sms = (byte[]) p;
SmsMessage message = SmsMessage.createFromPdu(sms);
String number = message.getOriginatingAddress();
if(number=="661"); // DO……
}
明明发送号码是661结果判断就是为否,Log.i输出number显示也为"661"
另外如何从在这个intent中获取收信号码呢?(因为手机是双卡双待,需要区别一下是发到哪个卡的短信)android第一问,可能问题比较弱智,请大家指教。
==比较的是两个对象,
equals比较的是对象的值
虽然值相等,但是是两个对象,各自的地址不同,所有不相等。