我将String
额外的传递给Intent
发送到的 a BroadCastReceiver
,并像这样获取它们:
public void onReceive(Context context, Intent intent) {
if (intent.hasExtra("type")){
Log.i("Listener", ":"+intent.getStringExtra("type")+":");
if (intent.getStringExtra("type") == "start"){
Log.i("Listener", "start");
}
if (intent.getStringExtra("type") == "end"){
Log.i("Listener", "end");
}
}
}//end method
这段代码给了我以下输出(如预期的那样):
07-22 10:41:00.038: I/Listener(28678): :start:
出乎意料的是,第二个 if 语句永远不会匹配,即使type
显然设置正确。我已经看过几次了,这真的让我很烦。这种行为似乎很奇怪,据我所知,我正在以正确的方式处理这个问题。
有人有什么想法吗?