Android 앱 간 통신

최종 업데이트: 2015년 4월 29일 — 앱 관리 전문가
앱 관리

안드로이드 프로세스 간 통신

가장 간단한 수준에서 앱이 Android에서 상호 작용하는 데는 두 가지 방법이 있습니다. 의도, 한 애플리케이션에서 다른 애플리케이션으로 데이터를 전달합니다. 서비스한 애플리케이션이 다른 애플리케이션에 기능을 제공하는 경우입니다. 두 방법을 활용하는 방법은 다양하며, 달성하려는 목표와 직면한 기술적 과제에 따라 달라집니다. 여기서는 간략한 개요만 설명하며, 기술적인 측면은 자세히 다루지 않겠습니다.

의도

An 의지 파일 열기, 전화번호 걸기, 비행기 모드 켜기 등 수행할 작업을 설명합니다. 처음 두 가지는 사용자 앱에서 실행할 수 있는 작업이며, 후자는 모든 앱에서 실행할 수 있는 시스템 전체 알림입니다. 예를 들어, 파일 브라우저에서 PDF 파일을 탭하면 읽을 수 있도록 문서 뷰어 앱을 시작하려고 할 것입니다. 이 경우 파일 브라우저는 인텐트를 사용하여 활동 파일을 보고 파일 경로를 인텐트 데이터의 일부로 전달합니다. 시스템은 인텐트를 수신하고 PDF 파일을 볼 수 있도록 시스템에 등록된 다른 앱을 엽니다. 또는 해당 기능을 지원하는 앱이 여러 개 있는 경우, 선택할 수 있는 목록이 표시될 수 있습니다. 또한, 앱이 사용자 상호작용 없이 백그라운드에서 작업을 실행하려는 경우, 인텐트를 사용하여 작업을 시작할 수 있습니다. 서비스 활동이 아닌. 모든 앱은 다음을 활용할 수 있습니다. 방송 수신기시스템 전체 메시지를 수신합니다. 앱은 비행기 모드가 활성화되면 인터넷 연결을 중단하고 싶어할 수 있습니다. 따라서 특정 동작이 포함된 인텐트를 수신하기 위해 시스템에 브로드캐스트 리시버를 등록하면, 앱은 해당 동작이 발생할 때 이를 감지하고 그에 따라 조치를 취할 수 있습니다. 인텐트는 또한 다음을 통해 추가 데이터를 전송할 수 있습니다. 묶음모든 종류의 직렬화 가능한 데이터를 처리할 수 있습니다. 번들의 데이터는 임의의 키를 사용하여 저장되므로, 이는 일반적으로 수신 앱이 수신 데이터의 컨텍스트를 알고 있는 경우에만 유용합니다.

서비스

서비스의 한 가지 특징은 위에서 언급한 것처럼 백그라운드에서 작업을 수행하는 것입니다. 이는 액티비티와 유사하지만 사용자 인터페이스 구성 요소가 없습니다. 서비스의 다른 주요 용도는 다음과 같습니다. 바인딩앱이 기능의 일부를 다른 애플리케이션에 노출할 수 있도록 하는 기능입니다. 서비스에 바인딩된 다른 앱은 해당 서비스에 정의된 메서드를 호출할 수 있는 영구 연결을 가지며, 이를 통해 앱의 다른 부분과 직접 상호 작용할 수 있습니다. 기기에서 VPN 연결을 제어하는 ​​예시 앱을 사용하면, 앱에서 제공하는 서비스를 통해 다른 애플리케이션이 VPN 연결, 현재 상태에 대한 정보를 얻거나 연결을 켜거나 끌 수 있습니다. 간단한 인텐트 액션으로 연결을 전환할 수도 있지만, 서비스에서 제공하는 다른 정보에 액세스할 수 있으면 앱이 해당 서비스와 지능적으로 상호 작용할 수 있습니다.

전단지에 포함된 링크에 대해 더 알아보기 Digital.ai 앱 관리

당신은 또한 좋아할 거라