程序接收了短信广播,从中获取了发信人号码,然后与预设的号码比较,结果却是恒为否。代码如下:
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第一问,可能问题比较弱智,请大家指教。
解决方案 »
- 使用registerForContextMenu()方法注册上下文菜单出现“应用程序意外停止”错误
- 这样根据手机号获取联系人的姓名,为什么不行
- 一个桌面显示问题
- viewpager 里的部分页面带actionbar
- 请问怎么添加点击事件
- Android4.2以上 BLE 稳定性解决方法
- HttpURLConnection中connection.getInputStream()报异常FileNotFoundException
- android studio安装问题。
- 非本地代码错误 CursorResourceWrapper: context is wrong!
- Android高德地图API开发行走轨迹会比实际距离多,请问怎么解决?
- 用surfaceView来做锁屏
- 问一个关于apk调用系统命令的粗浅的问题
==比较的是两个对象,
equals比较的是对象的值
虽然值相等,但是是两个对象,各自的地址不同,所有不相等。