안드로이드 인텐트 예제

명시적 의도는 Java 클래스를 식별자로 사용하여 Android 시스템에서 호출해야 하는 구성 요소를 명시적으로 정의합니다. 명시적 의도는 일반적으로 응용 프로그램 개발자가 응용 프로그램의 클래스를 제어하기 때문에 응용 프로그램 내에서 사용됩니다. 다음은 명시적 의도를 만들고 Android 시스템으로 전송하여 활동을 시작하는 방법을 보여 주며, 이를 보여 주시면 됩니다. 의도를 통해 서비스를 시작하려면 startService(의도) 메서드 호출을 사용합니다. 의도를 만들고 해결하는 방법에 대한 자세한 내용은 의도 및 의도 필터 개발자 가이드를 참조하십시오. 의도를 만들 때는 URI 외에 데이터 유형(해당 MIME 형식)을 지정하는 것이 중요합니다. 예를 들어 이미지를 표시할 수 있는 활동은 URI 형식이 비슷할 수 있더라도 오디오 파일을 재생할 수 없을 수 있습니다. 데이터의 MIME 유형을 지정하면 Android 시스템에서 의도를 수신할 최적의 구성 요소를 찾는 데 도움이 됩니다. 그러나 MIME 형식은 URI에서 유추될 수 있으며, 특히 데이터가 콘텐츠인 URI인 경우 유추할 수 있습니다. 콘텐츠: URI는 데이터가 장치에 있고 ContentProvider에 의해 제어됨을 나타내므로 데이터 MIME 형식이 시스템에 표시됩니다.

의도#ACTION_QUICK_VIEW 의도를 전달하는 동안 빠른 보기 UI에서 사용자가 사용할 수 있도록 해야 하는 빠른 보기 기능을 나타내는 String[]의 선택적 추가. 위의 예제에서 현재 실행 중인 활동 B 인스턴스는 onNewIntent() 메서드에서 여기에서 시작하는 새 의도를 받거나 새 의도로 완료되고 다시 시작됩니다. 시작 모드가 “다중”(기본값)으로 선언하고 동일한 의도로 FLAG_ACTIVITY_SINGLE_TOP을 설정하지 않은 경우 완료되고 다시 만들어집니다. 다른 모든 시작 모드또는 FLAG_ACTIVITY_SINGLE_TOP이 설정된 경우 이 의도는 현재 인스턴스의 onNewIntent()로 전달됩니다. 이 응용 프로그램을 실행하는 경우, 당신은 당신의 안드로이드 전화에 이미지 라이브러리에서 이미지를 선택하고 ImageView에 할당 할 수 있습니다. 이 의도에 대한 선택기 설정합니다. 이것은 의도가 일치하는 것들의 종류에 대한 수정입니다. 선택기설정이 설정된 경우 의도의 주요 내용 대신 의도를 처리할 수 있는 엔터티를 찾으려고 할 때 사용됩니다.

이렇게 하면 제네릭 프로토콜을 보다 구체적으로 대상으로 하는 동안 제네릭 프로토콜을 포함하는 의도를 구축할 수 있습니다. ACTION_CHOOSER로 표시하려는 추가 대체 선택 항목을 설명하는 의도[]입니다. 활동은 앱에서 단일 화면을 나타냅니다. 시작 활동()에 의도를 전달하여 활동의 새 인스턴스를 시작할 수 있습니다. 의도는 시작할 활동을 설명하고 필요한 데이터를 전달합니다. 의도를 실행해야 하는 활동을 설명하는 ActivityInfo로 의도를 확인합니다. 해결 은 resolveActivity (PackageManager)에 대해 설명 된 것과 동일한 규칙을 따르지만 클래스 이름 대신 해결 된 활동에 대한 전체 정보를 가져옵니다. 그림 1은 활동을 시작할 때 의도를 사용하는 방법을 보여 주며, Intent 개체가 특정 활동 구성 요소의 이름을 명시적으로 지정하면 시스템은 즉시 해당 구성 요소를 시작합니다. Intent는 다른 응용 프로그램의 코드 간에 늦은 런타임 바인딩을 수행하기 위한 기능을 제공합니다. 그것의 가장 중요한 사용은 활동 사이의 접착제로 생각 될 수있는 활동의 시작에 있습니다. 기본적으로 수행할 작업에 대한 추상적인 설명을 담고 있는 수동 데이터 구조입니다.

의도는 의도 필터와 일치하여 활성화할 대상 구성 요소를 검색할 뿐만 아니라 장치의 구성 요소 집합에 대해서도 검색합니다. 예를 들어 홈 앱은 ACTION_MAIN 작업 및 CATEGORY_LAUNCHER 범주를 지정하는 의도 필터를 사용하는 모든 활동을 찾아 앱 시작 프로그램을 채웁니다. IntentFilter 클래스에 대한 설명서에 설명된 대로 의도의 작업 및 범주가 필터와 일치하는 경우에만 일치합니다. 작업은 의도 아래에 표시된 대로 의도 개체에 setAction()를 호출하여 설정되며 두 활동과 같은 별도의 구성 요소 간에 런타임 바인딩을 제공하는 개체입니다.