의도 한 ResultReciever를 intentService로 사용하려고하는데이 오류가 발생합니다.java.lang.ClassCastException : android.os.ResultReceiver를 com.hello.utils.network.MyReciever로 캐스팅 할 수 없습니다.
어떤 아이디어 왜?
여기
http://lalit3686.blogspot.co.uk/2012/06/how-to-update-activity-from-service.html
가 시작 활동에서 내 코드 콜백으로 resulReciever을 사용하여이 가이드를 이어 서비스 :private void doNetworkInitCalls() {
intent = new Intent(getApplicationContext(), NetworkService.class);
intent.setAction(NetworkService.ACTION_GET_CITY_INFO);
intent.putExtra(NetworkService.EXTRA_LATLON, new LatLon(51.5073, 0.1276));
MyReciever reciever = new MyReciever(null);
reciever.setOnCityInfoRecieved(this);
intent.putExtra(MyReceiver.RESULT_RECEIEVER_EXTRA, reciever);
startService(getCityInfoIntent);
}
MyReciever 클래스 :
public class MyReciever extends ResultReceiver {
public static final String RESULT_CITY_INFO = "cityInfoData";
public static final String RESULT_RECEIEVER_EXTRA = "reciever";
public MyReciever(Handler handler) {
super(handler);
}
@Override
protected void onReceiveResult(int resultCode, Bundle resultData) {
super.onReceiveResult(resultCode, resultData);
}
}
IntentService :
012 이것에 대해 3,516,public class NetworkService extends IntentService {
@Override
protected void onHandleIntent(Intent intent) {
if (intent != null) {
MyReciever reciever = intent.getParcelableExtra(MyReciever.RESULT_RECEIEVER_EXTRA); //fails on this line
}
}
수신자, 수신자, 수신자 ..? (오타 확인) – Hacketo
죄송합니다. 위의 스 니펫을 편집했습니다. – jonney
ResultReceiver.java 클래스를 표시하십시오. –