그래서 여기에 내가 이해하려고하는 것이 있습니다.일시 중지 된 활동이 계속 서비스에서 콜백을 수신합니까?
나는이 여기
public MyService extends Service {
public List<MyListener> listenersList = new ArrayList<>();
public void addListeners(MyListeners mylistener) {
listenersList.add(myListener);
}
public void eventAOccured(){
for (MyListner mylistener : listeners) {
mylistener.eventAOccured();
}
}
public void eventBOccured(){
for (MyListner mylistener : listeners) {
mylistener.eventBOccured();
}
}
}
와 같은 서비스는이 두 번째 활동 활동
public Interface MyListener {
public eventAOccured();
public eventBOccured();
}
이제 우리는 세하는 행동이
public Activity1 extends AppCompatActivity implements MyListener{
public static int myVariable = 1;
//starts service. For sake of brevity I am skipping this part.
MyService.add(this);
//on click of a button
startActivity(new Intent (Activity1.this, Activity2.class);
//Now I know this will put Activity1 in paused state
@Override
public void eventAOccured() {
//Call activity 3
}
@Override
public void eventBOccured() {
myVariable = 3;
}
}
이 내에 myListener 인터페이스 인 활동 1의 버튼을 클릭하여 호출됩니다. 활동 2가 시작된 후, 이브 NTB가 발생합니다. 이제 Activity1에서 myVariable에 액세스하면 1 또는 3이됩니다.
얼마 지나지 않아 eventA가 발생했습니다. 이제 Activity3이 시작됩니까?
나는 일시 중지 된 활동이 더 이상 사용자에게 표시되지 않는다는 것을 알고 있지만 서비스와의 통신은 계속됩니까?
무엇 단순히 시도에서 당신을 중지 연장? –
시도했지만, eventA와 eventB를 시뮬레이트 할 수 없기 때문에 Activity1의 재정의 메소드가 호출되지 않습니다. –
시뮬레이션 할 수있는 콜백을 시도하십시오. 예를 들어 B에서 A의 무언가를 호출하고 작동하는지 확인 –