혼란 스럽습니다 :intent.getExtras.getInt()는 intent.getIntExtra()와 동일합니까?
intent.getExtras.getInt()
은 intent.getIntExtra()
과 동일합니까?
START_REDELIVER_INTENT
을 사용하여 서비스를 시작하면 이 의도에 포함됩니까?
나는
혼란 스럽습니다 :intent.getExtras.getInt()는 intent.getIntExtra()와 동일합니까?
intent.getExtras.getInt()
은 intent.getIntExtra()
과 동일합니까?
START_REDELIVER_INTENT
을 사용하여 서비스를 시작하면 이 의도에 포함됩니까?
나는
:
private Bundle mExtras;
// [...]
public int getIntExtra(String name, int defaultValue) {
return mExtras == null ? defaultValue :
mExtras.getInt(name, defaultValue);
}
public Bundle getExtras() {
return (mExtras != null)
? new Bundle(mExtras)
: null;
}
그래서 그래. getExtras()
을 제외하고 같은 결과는 null을 반환 할 수 있습니다.
그들은 확실히 동일하지 .... 내가 이상한 찾아 내 추락 서비스의 재시작에 NullPointerException
를 얻을. 알아내는 동안 intent.getExtras()
이 null
을 반환하면 첫 번째 변형이 NPE를 유발합니다. 두 번째 변형은 자체 null 검사를 수행하고 추가 값이 없으면 기본값을 반환합니다.
더 많은 코드를 보지 않고 예상되는 추가 기능을 얻지 못하는 이유에 대해 추측 할 수 없습니다. 의도 소스 코드에서
나는 알고 있습니다. 서비스를 다시 시작할 때 추가 기능이 다시 전달되는 것은 예상되는 동작입니까? 옳은? – JohnyTex
mExtras가 이미 번들 일 때 새로운 번들 (mExtras)이 필요한 이유는 무엇입니까? – JohnyTex
번들 사본을 반환하려면 원본 mExtras 번들은 수정되지 않습니다. – ToYonos