다른 스레드에서 메인 스레드로 게시
Android 서비스에서는 백그라운드 스레드가 메인 스레드와 상호 작용해야 하는 경우가 많습니다. 예를 들어 실행 파일을 메시지 대기열에 게시하는 것과 같습니다. 이를 달성하려면 다음 솔루션을 고려하십시오.
해결책 1: 컨텍스트 개체 사용
백그라운드 스레드가 컨텍스트 개체(예: 애플리케이션 또는 서비스)에 액세스할 수 있는 경우 컨텍스트), 다음을 사용하여 메인 스레드에 대한 핸들러를 얻을 수 있습니다.
Handler mainHandler = new Handler(context.getMainLooper());
이후에 다음을 수행할 수 있습니다. 다음과 같이 Runnable을 메인 스레드에 게시합니다:
mainHandler.post(myRunnable);
해결책 2: Looper.getMainLooper() 사용
백그라운드 스레드에 Context 개체가 없는 경우 , 다음을 사용하여 메인 스레드의 Looper를 얻을 수 있습니다.
Handler mainHandler = new Handler(Looper.getMainLooper());
이를 통해 다음을 수행할 수 있습니다. 실행 파일을 메인 스레드에도 게시합니다:
mainHandler.post(myRunnable);
위 내용은 Android의 백그라운드 스레드에서 기본 스레드로 실행 파일을 게시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!