프로그램 통합 API

프로그램 통합 API는 주소록 프로그램, 전화 프로그램 및 미디어 프로그램 등의 핵심 프로그램을 다른 프로그램에 통합하여 사용할 수 있는 패키지가 포함되어 있습니다.

Invoke API

Invoke API를 사용하여 핵심 프로그램을 호출하고 선택적으로 데이터를 전달할 수 있습니다. 이 API를 사용하려면 invokeApplication을 호출하고 프로그램 유형 및 모든 관련 인수를 전달해야 합니다. Invoke API를 사용하여 다음 핵심 프로그램을 호출할 수 있습니다.

  • 주소록
  • 계산기
  • 캘린더
  • 카메라
  • BlackBerry Maps
  • 메모
  • 메시지
  • 전화
  • 검색
  • 작업

Invoke에는 프로그램을 열거하는 APP_TYPE 필드가 포함되어 있습니다.

Invoke API로 호출될 수 있는 각 핵심 프로그램에는 ApplicationArguments 클래스의 상응 하위 클래스가 있습니다. 예를 들어, 전화 프로그램을 호출하려면 invokeApplication을 호출하고 전화 프로그램 유형 및 PhoneArguments 인수를 전달합니다. 인수 없이 프로그램을 호출하려면 ApplicationArguments 개체 대신 null을 전달합니다.

콘텐츠 처리기 API

CHAPI(콘텐츠 처리기 API)를 사용하여 핵심 프로그램과 타사 프로그램 모두 호출할 수 있습니다. JSR 211은 CHAPI를 Java® ME의 선택적 API로 정의합니다. CHAPI에 대한 자세한 내용은 javax.microedition.content 패키지 개요를 참조하십시오.

CHAPI를 사용하여 프로그램을 호출하려면 URL, 콘텐츠 유형 또는 콘텐츠 ID를 javax.microedition.content.Invocation 클래스의 생성자 중 하나에 제공합니다. RIM 콘텐츠 처리기를 호출하기 위해 CHAPI를 RIM®이 제공한 콘텐츠 ID와 함께 사용하는 경우, CHAPI는 미디어 프로그램을 포함한 핵심 프로그램에 대해 호출 매개 변수를 설정하기 위한 좋은 방법이 될 수 있습니다. 또한 CHAPI를 사용하여 콘텐츠 처리기로 등록하는 타사 프로그램을 호출할 수 있습니다.

BlackBerry Browser

Browser 클래스 및 BrowserSession 클래스의 방식을 사용하여 BlackBerry Browser를 호출하고 웹 페이지를 열 수 있습니다.

기본 브라우저로 지정되지 않은 브라우저를 호출하는 방법을 포함한 브라우저 호출에 대한 자세한 내용은 기술 자료 문서 Invoke the browser를 참조하십시오.

또한 BrowserField 클래스를 사용하여 프로그램에 웹 콘텐츠를 삽입할 수 있습니다.

프로그램 관리자

ApplicationManager 클래스로 핵심 프로그램을 시작할 수 있습니다. 이 클래스는 프로그램의 코드 모듈을 지정합니다. 이 기술은 위에서 설명한 모든 기술로 프로그램을 호출할 수 없는 경우에만 사용해야 합니다. 이 기술로는 프로그램 인수를 핵심 프로그램으로 전달할 수 없습니다. ApplicationManager를 사용하여 다음 핵심 프로그램을 호출할 수 있습니다.

프로그램 모듈 이름
알람/시간 net_rim_bb_clock
사운드 net_rim_bb_profiles_app
BlackBerry Messenger net_rim_bb+_qm_peer
옵션 net_rim_bb_options_app
주: 핵심 프로그램의 모듈 이름은 변경될 수 있습니다. 모듈을 직접 호출하면 예기치 않은 부작용이 생길 수 있습니다.

프로그램 호출하기 위한 핵심 프로그램 활성화

menuitem 패키지를 사용하여 핵심 프로그램에 메뉴 항목을 추가할 수 있습니다. 예를 들어, 주소록 프로그램에 '판매 주문 보기'라는 메뉴 항목을 추가할 수 있습니다. 사용자가 '판매 주문 보기'를 클릭하면 프로그램이 열리면서 해당 연락처의 판매 주문 목록이 표시됩니다.

ApplicationMenuItemRepository 클래스는 메뉴 항목이 나타나는 핵심 프로그램을 지정하는 상수를 제공합니다. 예를 들어, MENUITEM_MESSAGE_LIST 상수는 메뉴 항목이 메시지 프로그램에 나타나도록 지정합니다. MENUITEM_SYSTEM 상수는 메뉴 항목이 대부분의 핵심 프로그램에 나타나도록 지정합니다.

ActiveAutoTextEditField 또는 ActiveRichTextField 필드(예: 캘린더 및 메시지 프로그램)를 사용하는 프로그램은 문자열 패턴을 인식하고 스마트폰 메뉴에 있는 해당 문자열 패턴에 대해 특정 항목을 제공할 수 있습니다. 예를 들어, 메시지에 전화번호가 포함되어 있는 경우 번호가 강조 표시됩니다. 스마트폰 사용자가 번호를 선택하고 메뉴 키를 누르면 특별 메뉴 항목인 Call Number가 표시됩니다.

자신만의 문자열 패턴을 정의하고 해당 패턴을 사용자 정의 메뉴 항목과 연결할 수 있습니다. 사용자 정의 메뉴 항목은 사용자가 ActiveAutoTextEditField 또는 ActiveRichTextField 필드에서 일치하는 문자열을 선택하고 메뉴를 열 때 표시됩니다. 사용자 정의 메뉴 항목은 프로그램 시작하기 등의 모든 작업을 수행할 수 있습니다.

PatternRepository 클래스를 사용하여 Perl 스타일 정규식 또는 특정 문자열을 스마트폰의 패턴 저장소로 등록할 수 있습니다. ApplicationMenuItem 클래스를 사용하여 문자열 패턴이 연결된 메뉴 항목을 지정할 수 있습니다.

PatternRepository 및 활성화된 텍스트 필드에 대한 자세한 내용은 Active Text Fields 샘플 프로그램을 참조하십시오.

콘텐츠 처리기 API에서 제공되는 Registry 클래스를 사용하여 프로그램을 호출하는 콘텐츠 처리기를 등록할 수 있습니다. 콘텐츠 처리기를 등록하면 배열을 제공하여 처리기를 호출하는 동작을 지정할 수 있습니다.스마트폰에서 지원되지 않는 MIME 유형의 ContentHandler.ACTION_OPEN 콘텐츠 처리기는 BlackBerry Browser, 파일 탐색기 및 메시지 프로그램의 첨부 파일 열기 메뉴 항목에서 사용됩니다.이미지 또는 비디오 MIME 유형용 ContentHandler.ACTION_SEND 콘텐츠 처리기는 파일 탐색기(미디어 프로그램 포함) 및 카메라 프로그램의 보낼 형식 메뉴에서 사용됩니다.

BlackBerry 프로그램에 콘텐츠 삽입

다음을 포함한 다양한 방법으로 프로그램에 콘텐츠를 삽입할 수 있습니다.

  • messagelist 패키지를 사용하여 메시지 프로그램에 프로그램 추가
  • contactlinking 패키지를 사용하여 개발자 프로그램에 있는 연락처를 주소록 프로그램의 연락처와 연결
  • phonequi 패키지를 사용하여 전화 화면에 콘텐츠 추가
  • 옵션 패키지를 사용하여 프로그램에 옵션 추가
  • 알림 패키지를 사용하여 알림 소스로 프로그램 등록

프로그램에 UI 구성 요소 삽입

프로그램에 여러 특수한 UI 구성 요소를 포함시킬 수 있습니다. 예를 들어, 다음을 구현할 수 있습니다.

  • component 패키지를 사용하는 자동 완성 필드
  • LBS API의 picker 패키지를 사용하는 위치 선택기(사용자가 연락처, GPS, 최근 위치 및 프로그램에 대한 제안 사항 등의 수단을 사용하여 위치를 선택할 수 있도록 허용함)
  • UI API의 picker 패키지를 사용하는 파일 선택기(사용자가 폴더에서 파일을 선택하도록 허용함)
  • MapField 클래스를 사용하는 내장 지도
  • BrowserField 클래스를 사용하는 내장 웹 콘텐츠
  • javax.microedition.mediajavax.microedition.media.control에 구현된 바와 같이 모바일 미디어 API(JSR 135)를 사용하는 내장 미디어 플레이어 및 미디어 레코더

통합 검색

통합 검색 서비스는 BlackBerry Device Software 6 이상에 포함되어 있는 검색 엔진입니다. 통합 검색 API(net.rim.device.unifiedsearch)를 사용하여 프로그램 데이터를 통합 검색 서비스의 콘텐츠 저장소에 포함시키고, 프로그램에서 콘텐츠 인덱스를 검색할 수 있습니다.

다음 주제: PIM API
이전 주제: UI API

이 정보가 도움이 되었습니까? 의견을 보내 주십시오.