저는 현재 실행중인 다양한 웹 서비스에 쉽게 액세스 할 수있게 해주는 응용 프로그램 서비스를 위해 노력하고 있습니다. 이 서비스는 사용자가 서비스를 처음 시작할 때 한 번만 로그인하면되므로 사용하려는 모든 응용 프로그램에서 로그인 상태를 유지하는 데 사용됩니다.콜백을 사용하여 Android 서비스를 만드는 방법은 무엇입니까?
서비스가 비동기 적으로 실행되도록하고 응용 프로그램이 끝나면 다시 호출하는 가장 좋은 방법은 무엇입니까? 현재 내가
private static class LogInAsync extends Thread {
private Handler handler;
private CallbackWrapper wrapper;
private Context context;
protected LogInAsync(Context context, Handler handler, CallbackWrapper wrapper) {
this.handler = handler;
this.wrapper = wrapper;
this.context = context;
}
public void run() {
loginState = true;
wrapper.setResponse(Types.NOTHING, Functions.LOG_IN, null);
handler.post(wrapper);
}
}
같은 스레드를 확장 정적 클래스를 사용하고 그리고 쉽게
public static void logIn(Context context, ResponseListener callback) {
(new LogInAsync(context, new Handler(), new CallbackWrapper(callback))).start();
}
를 호출하지만이 기능은 단지 내 자신의 응용 프로그램에 의해 호출 될 수 있도록. 누구나 한 두 라인 함수 호출을 만들 수 있고 간단하게 콜백 메소드에서 응답을 쉽게 처리 할 수 있기를 바랍니다.
인트론을 사용하여 스레드를 시작해야한다는 것을 알았지 만, 그렇게 할 경우 콜백을 전달할 수 없습니다.
감사합니다.이 비디오는 엄청난 도움이됩니다. 저는 그가 Intents를 사용하여 서비스를 시작하는 것을 좋아합니다. 그러나 아직 명확하지 않은 점이 하나 있습니다. 어떻게 바인더 콜백을 수행합니까? 서비스가 헬퍼에게 작업이 완료되었음을 알리는 방법은 무엇입니까? –
Intent에 인터페이스를 전달하여 콜백으로 사용할 수 있습니다. Google I/O 앱을 확인하십시오. iosched 검색 – alexanderblom