KR102069322B1 - 프로그램 실행 방법 및 그 전자 장치 - Google Patents
프로그램 실행 방법 및 그 전자 장치 Download PDFInfo
- Publication number
- KR102069322B1 KR102069322B1 KR1020130064926A KR20130064926A KR102069322B1 KR 102069322 B1 KR102069322 B1 KR 102069322B1 KR 1020130064926 A KR1020130064926 A KR 1020130064926A KR 20130064926 A KR20130064926 A KR 20130064926A KR 102069322 B1 KR102069322 B1 KR 102069322B1
- Authority
- KR
- South Korea
- Prior art keywords
- program
- electronic device
- programs
- list
- call
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Telephone Function (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 개시는 암시적 호출을 실행하는 경우, 전자 장치의 메모리에 저장되어 있는 프로그램 중에서 암시적 호출의 객체 검색 정보에 부합하는 프로그램들을 결정하여 전자 장치에 표시하는 방법 및 장치에 관한 것으로, 전자 장치의 동작 방법은, 선택한 객체의 검색 정보를 결정하고, 데이터베이스에서 획득한 정보에 대응하는 프로그램들을 표시하고, 프로그램들에서 제 1 프로그램을 선택하고, 제 1 프로그램을 실행하고, 제 1 프로그램의 실행 화면에 제 2 프로그램을 표시하는 동작을 수행할 수 있다.
Description
본 개시는 전자 장치에 관한 것으로, 데이터를 처리하는 방법 및 그 전자 장치에 있다.
이동통신 기술이 발전함에 따라 전자 장치는 개개인의 필수 통신 장치로 사용된다. 더욱이, 전자 장치에서 음성 통신 기능뿐만 아니라 카메라, 데이터 통신, 동영상 재생, 오디오 재생 및 메신저, 일정관리, 알람 기능 등의 다양한 부가 서비스를 제공함에 따라 그 기능을 사용할 수 있는 다양한 프로그램이 사용되고, 전자 장치에 설치되는 프로그램의 수도 크게 증가하고 있다.
종래에는 전자 장치의 프로그램을 실행함에 있어, 전자 장치의 표시부에 나열되어 있는 프로그램을 실행하는 아이콘을 검색하고, 선택하여 실행하는 방법을 사용하였다. 직접 검색하여 프로그램을 실행하는 방법은 전자 장치에 설치되는 프로그램의 수가 많아 지면서 원하는 프로그램을 찾아 실행하는 과정이 복잡해 지고 있다.
또한, 전자 장치는 전자 장치가 제공하는 특정한 하나의 프로그램을 실행할 수 있는 명령으로 프로그램을 실행시킬 수 있지만, 동일한 기능을 가지는 둘 이상의 프로그램들을 표시하도록 할 수 있고, 표시하는 프로그램들 중에서 하나를 선택하여 실행할 수 있다.
본 개시의 한 실시 예에 따르면, 실행한 프로그램과 관련된 프로그램을 데이터베이스에서 획득하여 프로그램을 실행하고 있는 전자 장치에 표시할 수 있고, 실행한 프로그램과 동일 또는 유사한 기능을 제공하는 프로그램을 실행할 수 있는 방법 및 장치를 제공함에 있다.
본 개시의 한 실시 예에 따르면, 암시적 호출에 의해서 실행된 프로그램을 동일한 또는 유사한 기능을 제공하는 프로그램으로 대체 실행할 수 있는 방법 및 장치를 제공함에 있다.
본 개시의 다양한 실시 예에 따르면 전자 장치의 동작 방법에 있어서, 암시적 호출을 확인하는 동작과 암시적 호출에 대응하는 제 1 프로그램을 제공하는 동작 및 제 1 프로그램의 동작 중에 암시적 호출에 대응하는 제 2 프로그램을 표시하는 동작을 제공할 수 있다.
다양한 실시 예에 따르면, 상기 암시적 호출에 대응하는 제 1 프로그램을 제공하는 동작은 데이터베이스에서 암시적 호출에 대응하는 프로그램들을 표시하고, 상기 프로그램들 중 결정한 하나를 제 1 프로그램으로 제공할 수 있다.
다양한 실시 예에 따르면, 상기 암시적 호출에 대응하는 제 1 프로그램을 제공하는 동작은, 미리 선택하여 저장한 프로그램을 제 1 프로그램으로 제공하는 동작으로 제공할 수 있다.
다양한 실시 예에 따르면, 상기 제 2 프로그램을 표시하는 동작은 제 2 프로그램의 아이콘 또는 링크를 표시하는 동작으로 제공할 수 있다.
본 개시의 한 실시 예에 따르면 전자 장치의 동작 방법에 있어서, 선택된 객체 정보에 대응하는 프로그램들을 제공하는 동작과 제공된 프로그램들 중 제 1 프로그램을 결정하는 동작 및 제 1 프로그램의 제공 중에 프로그램들 중 적어도 하나의 제 2 프로그램을 제공하는 동작을 제공할 수 있다.
다양한 실시 예에 따르면, 상기 제 1 프로그램들을 제공하는 동작은, 제 1 프로그램을 실행하는 명령어를 포함하는 아이콘 또는 링크를 표시하는 동작으로 제공할 수 있다.
다양한 실시 예에 따르면, 상기 제 2 프로그램을 실행하는 동작과 상기 제 2 프로그램의 제공 중에 상기 제 1 프로그램을 표시하는 동작을 제공할 수 있다. 한 실시 예에 따르면, 상기 제 2 프로그램의 제공 중에 프로그램들이 포함하는 제 3 프로그램을 더 표시하는 동작을 제공할 수 있다. 한 실시 예에 따르면, 상기 전자 장치의 상기 데이터베이스에서 획득한 제 2 프로그램과 관련 있는 관련 프로그램들을 표시하는 동작을 제공할 수 있다. 한 실시 예에 따르면, 상기 프로그램들 또는 상기 관련 프로그램들은 미리 정한 제스처 또는 모션을 통해 제 1 프로그램의 실행 화면 또는 제 2 프로그램의 실행 화면에 표시 또는 표시 해제하는 동작을 제공할 수 있다.
다양한 실시 예에 따르면, 상기 객체가 포함하는 정보를 상기 객체 정보로 제공하고, 객체 정보는 프로그램의 기능, 프로그램의 목적, 프로그램의 키워드, 프로그램의 Identification(ID), 프로그램의 카테고리, 프로그램이 사용할 수 있는 상기 전자 장치의 주변 장치 목록에 대응하는 정보 중에서 하나 또는 그 이상을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 데이터베이스는 프로그램의 기능, 프로그램의 목적, 프로그램의 키워드, 프로그램의 Identification(ID), 프로그램의 카테고리, 프로그램이 사용할 수 있는 상기 전자 장치의 주변 장치 목록에 대응하는 정보 중에서 하나 또는 그 이상을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 프로그램들을 제공하는 동작은 알림 바에 표시, 알림 창에 표시 또는 음성 출력으로 제공 중에서 적어도 하나를 통해 제공하는 동작으로 제공할 수 있다.
다양한 실시 예에 따르면, 상기 제 1 프로그램을 상기 객체에 대응하는 기본 프로그램으로 설정할 수 있는 메뉴를 표시하는 동작을 더 제공할 수 있다.
다양한 실시 예에 따르면, 상기 제 1 프로그램의 실행 화면에 제 3 프로그램을 더 표시하고 제3 프로그램은 상기 프로그램들에 포함되지 않도록 제공할 수 있다.
본 개시의 한 실시 예에 따르면 전자 장치에 있어서 프로세서를 포함하고,상기 프로세서는 선택된 객체 정보에 대응하는 프로그램들을 제공하는 동작과 제공된 프로그램들 중 제 1 프로그램을 결정하는 동작 및 제 1 프로그램의 제공 중에 프로그램들 중 적어도 하나의 제 2 프로그램을 제어할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 상기 프로그램들에 포함되지 않는 제 3 프로그램을 실행하는 동작과 제 3 프로그램의 동작 중에 제 1 프로그램 및/또는 제 2 프로그램을 표시하는 동작을 제어할 수 있다. 한 실시 예에 따르면, 상기 프로세서는, 제 1 프로그램 및/또는 제 2 프로그램을 아이콘 또는 링크로 표시하거나 음성으로 출력하도록 제어할 수 있다.
다양한 실시 예에 따르면, 상기 프로세서는, 제 2 프로그램을 실행하는 동작과 제 2 프로그램의 실행 화면에 제 1 프로그램을 표시하는 동작을 제어할 수 있다. 한 실시 예에 따르면, 상기 프로세서는, 기준 동작을 수행하여 프로그램들 또는 관련 프로그램들을 제 1 프로그램의 실행 화면 또는 제 2 프로그램의 실행 화면에 표시 또는 표시 해제하는 동작을 제어할 수 있다.
상술한 바와 같이, 본 개시의 다양한 실시 예는 전자 장치에서 암시적 호출로 프로그램을 실행하려 하는 경우, 실행하는 프로그램의 정보로 데이터베이스를 통해 관련있는 프로그램을 검색 또는 필터링 하여 표시할 수 있음으로, 동일한 또는 유사한 기능을 제공하는 다른 프로그램을 실행할 수 있는 방법을 제공할 수 있고, 다양한 프로그램 또는 컨텐츠의 소비를 활성화할 수 있다.
도 1은 본 개시의 다양한 실시 예에 따른 전자 장치의 블록 구성도;
도 2는 도 1의 한 실시 예에 따른 전자 장치의 호출에 따른 동작을 도시한 도면;
도 3a 및 도 3b는 도 1의 한 실시 예에 따른 전자 장치에서, 암시적 호출의 동작을 도시한 도면;
도 4a 및 도 4b는 도 1의 한 실시 예에 따른 전자 장치에서, 암시적 호출의 처리에 따른 동작을 도시한 도면;
도 5a 및 도 5b는 도 1의 한 실시 예에 따른 전자 장치에서, 데이터 처리에 따른 UI 동작의 구성을 도시한 도면;
도 6은 도 1의 한 실시 예에 따른 전자 장치에서, 데이터 처리에 따른 UI 동작의 구성을 도시한 도면;
도 7a 내지 도 7e는 도 1의 한 실시 예에 따른 전자 장치에서, 암시적 호출 처리에 따른 UI 동작의 구성을 도시한 도면;
도 8a 및 도 8b는 본 개시의 다양한 실시 예에 따른 전자 장치에서, 프로그램 동작의 흐름도; 및
도 9는 본 개시의 다양한 실시 예에 따른 전자 장치에서, 프로그램 동작의 흐름도.
도 2는 도 1의 한 실시 예에 따른 전자 장치의 호출에 따른 동작을 도시한 도면;
도 3a 및 도 3b는 도 1의 한 실시 예에 따른 전자 장치에서, 암시적 호출의 동작을 도시한 도면;
도 4a 및 도 4b는 도 1의 한 실시 예에 따른 전자 장치에서, 암시적 호출의 처리에 따른 동작을 도시한 도면;
도 5a 및 도 5b는 도 1의 한 실시 예에 따른 전자 장치에서, 데이터 처리에 따른 UI 동작의 구성을 도시한 도면;
도 6은 도 1의 한 실시 예에 따른 전자 장치에서, 데이터 처리에 따른 UI 동작의 구성을 도시한 도면;
도 7a 내지 도 7e는 도 1의 한 실시 예에 따른 전자 장치에서, 암시적 호출 처리에 따른 UI 동작의 구성을 도시한 도면;
도 8a 및 도 8b는 본 개시의 다양한 실시 예에 따른 전자 장치에서, 프로그램 동작의 흐름도; 및
도 9는 본 개시의 다양한 실시 예에 따른 전자 장치에서, 프로그램 동작의 흐름도.
이하 본 개시의 다양한 실시 예를 첨부된 도면을 참고하여 설명한다. 그리고, 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략할 것이다. 또한, 후술 되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 개시의 다양한 실시 예를 설명함에 있어서, 전자 장치는 입력 장치를 통한 입력 과정과, 표시부를 통한 표시 과정을 물리적인 한 화면에서 수행할 수 있는 터치 스크린(Touch Screen)을 기준으로 설명할 수 있다. 따라서 본 개시의 장치 구성에서 표시부와 입력 장치는 따로 도시되어 있을지라도, 표시부를 표현하는 경우 입력 장치를 포함하고 있거나, 입력장치를 표시부로 나타낼 수도 있다.
본 개시는 터치 스크린을 포함하는 전자 장치에만 국한되지 않고, 표시부와 입력 장치가 물리적으로 분리, 구분되어 있거나, 표시부와 입력 장치 중에서 하나만을 포함하는 등의 다양한 전자 장치에 적용될 수 있을 것이다. 이하 다양한 실시 예에서 터치 스크린으로 표시되는 장치는 터치 입력 장치와 표시부를 포함하는 터치 스크린, 터치 입력 장치를 포함하지 않는 표시부, 입력 장치를 포함하는 표시부 등으로 표시부를 포함하는 전자 장치를 나타낼 수 있다.
이하 설명에서 전자 장치(100)는 이동통신단말기, PDA(Personal Digital Assistant), PC(Personal Computer), 랩탑(Laptop), 스마트폰(Smart Phone), 스마트 TV(Smart TV), 넷북(Netbook), 휴대 인터넷 장치(MID: Mobile Internet Device), 울트라 모바일 PC(UMPC: Ultra Mobile PC), 태블릿 PC(Tablet PC), 이동 패드(mobile pad), 미디어 플레이어(media player), 핸드헬드 컴퓨터(handheld computer), 내비게이션(Navigation), 스마트 와치(smart watch), HMD(Head mount display) 및 MPEG-1 Audio Layer-3 Player(MP3P) 등을 포함한다.
이하 본 개시에 대한 상세한 설명을 함에 있어서, 어떤 구성요소가 다른 구성요소에 연결되어 있다거나 접속되어 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 요소가 존재할 수도 있다고 이해되어야 할 것이며, 어떤 구성요소가 다른 구성요소에 직접 연결되어 있다거나 직접 접속되어 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 개시에서 전자 장치(100)는 프로그램, 컴포넌트 또는 데이터 등을 제어할 수 있는 명령을 담고 있는 호출 등을 발생함으로써, 전자 장치(100)의 UI 동작 또는 프로그램의 동작 등을 제어할 수 있다.
전자 장치(100)의 호출은 명시적 호출, 암시적 호출 등으로 설명할 수 있다.
명시적 호출은 명령이 호출하는 대상이 명확하게 정의된 호출일 수 있다. 전자 장치(100)의 카메라 프로그램들 중에서 제 1 카메라 프로그램을 실행하는 명령을 포함하는 아이콘 등의 액티비티 컴포넌트 등을 선택하거나, 음성 명령을 입력하는 등의 방법을 통해 명령에 대응하는 제 1 프로그램을 직접 실행할 수 있다.
암시적 호출은 명령이 호출하는 대상이 명확하게 정의되지 않은 호출일 수 있다. 암시적 호출은 명시적 호출과 같이 아이콘 등의 액티비티 컴포넌트 등을 선택하거나, 음성 명령을 입력하는 등의 방법을 통해 암시적 호출이 포함하는 명령을 실행할 수 있지만, 상기 암시적 호출이 포함하는 명령은 실행하는 대상 프로그램이 명확하게 정해지지 않은 명령일 수 있다.
더하여, 암시적 호출이 포함하는 명령은 암시적 호출을 발생하는 아이콘, 텍스트 이미지 등의 UI 객체를 또는 음성 명령이 실행할 수 있는 프로그램이 아닌 객체 검색 정보일 수 있다. 전자 장치(100)는 메모리(100)에 저장하고 있는 데이터베이스에서 객체 검색 정보에 대응하는 프로그램들을 필터링 또는 검색할 수 있다. 따라서, 암시적 호출이 포함하는 명령은 선택한 객체의 검색 정보로 설명할 수 있을 것이다.
전자 장치(100)는 암시적 호출이 발생하면 리스트 추천 프로그램(114) 등을 통해서 암시적 호출의 객체 검색 정보에 해당하는 프로그램들을 필터링(Filtering)할 수 있다. 전자 장치(100)는 필터링한 프로그램들 목록을 전자 장치(100)의 터치크스린(133) 또는 제 2 표시부 등에 UI 동작을 구성하여 표시할 수 있고, 스피커(144) 등을 통해 소리로 표시할 수 있다. 전자 장치(100)가 표시하는 프로그램들 목록은 명시적 호출을 포함하는 UI 객체 또는 음성 명령어 등으로 구성할 수 있다.
더하여 암시적 호출이 발생하는 경우, 필터링한 프로그램들 목록을 표시하지 않고 하나의 프로그램을 실행하도록 기본 프로그램으로 정할 수 있고, 기본 프로그램을 정한 암시적 호출은 명시적 호출처럼 동작할 수 있다.
전자 장치(100)는 동작하고 있는 제 1 액티비티(제 1 프로그램의 UI 동작 구성)에 카메라 프로그램을 실행할 수 있는 명령을 포함하는 호출을 발생할 수 있는 제 2 액티비티를 포함할 수 있다.
제 2 액티비티가 제 2 프로그램을 실행할 수 있는 명시적 호출을 발생할 수 있는 경우, 전자 장치(100)가 메모리(110)에 제 2 프로그램을 포함하지 않는다면 전자 장치(100)는 제 1 프로그램에서 카메라 프로그램을 실행할 수 없다.
제 2 액티비티가 카메라 프로그램을 실행할 수 있는 암시적 호출을 발생할 수 있는 경우, 전자 장치(100)는 리스트 추천 프로그램(114) 등을 통해 전자 장치(100)의 데이터베이스에서 암시적 호출의 객체 검색 정보에 대응하는 카메라 프로그램들을 필터링할 수 있다.
전자 장치(100)는 메모리(110)에 저장하고 있는 프로그램들에 대한 프로그램의 기능, 프로그램의 목적, 키워드, Identification(ID) Code, 프로그램이 사용할 수 있는 전자 장치(100)의 주변 장치들 등의 정보들로 데이터베이스를 구성할 수 있다. 상기 정보들은 데이터의 헤더, 프로그램의 정보를 포함하고 있는 데이터 또는 전자 장치(100)에 설치하는 설치 프로그램 패키지가 수행할 수 있는 기능 또는 사용하는 전자 장치(100)의 주변장치 등의 정보를 포함하고 있는 데이터 등에서 획득할 수 있다. 전자 장치(100)는 암시적 호출이 발생하는 경우, 암시적 호출이 제공하는 정보에 대응하는 프로그램들을 데이터베이스의 프로그램들 정보에서 필터링할 수 있다.
도 1은 본 개시의 다양한 실시 예에 따른 전자 장치의 블록 구성을 도시한다.
도 1을 참조하면, 전자 장치(100)는 메모리(110), 프로세서 유닛(Processor Unit)(120)을 포함하고, 주변 장치로는 입출력 처리부(130), 표시부(131), 입력 장치(132), 오디오 처리부(140), 통신 시스템(150) 및 다른 주변 장치들을 포함할 수 있다.
각 구성 요소를 설명하면 다음과 같다.
메모리(110)는 전자 장치(100)의 동작을 제어하기 위한 프로그램을 저장하는 프로그램 저장부(111) 및 프로그램 수행 중에 발생 되는 데이터를 저장하는 데이터 저장부(112)를 포함하고, 프로세서(122)의 동작으로 프로그램에서 생성된 데이터 등을 저장할 수 있다.
예컨대, 데이터 저장부(112)에는 전자 장치(100)가 프로그램의 데이터를 처리함에 있어서 프로그램의 기능, 프로그램의 목적, 키워드, Identification(ID) Code, 프로그램이 사용할 수 있는 전자 장치(100)의 주변 장치들 등의 정보들로 데이터베이스를 구성하여 저장할 수 있다. 상기 정보들은, 암시적 호출(안드로이드의 암시적 인텐트, 윈도우의 연결 프로그램 선택) 명령에 대응하는 프로그램을 필터링할 수 있는 조건 또는 프로그램을 실행할 수 있는 명령 등에 대응하는 프로그램을 검색 또는 특정 데이터를 재생, 제공, 편집, 사용할 수 있는 프로그램을 검색하는 조건을 구성할 수 있고, 프로그램들을 카테고리별로 분류할 수 있는 기준이 될 수 있다. 전자 장치(100)는 암시적 호출이 발생하는 경우, 암시적 호출이 제공하는 정보에 대응하는 프로그램들을 데이터베이스의 프로그램들 정보에서 필터링할 수 있다.
프로그램 저장부(111)는 적어도 하나의 응용 프로그램(113) 및 사용자 인터페이스(User Interface, UI) 프로그램(116), 통신 제어 프로그램(118), 입출력 제어 프로그램(117)을 포함할 수 있다. 여기서, 프로그램 저장부(111)에 포함되는 프로그램은 명령어들의 집합으로 구성되어 명령어 세트(Instruction Set)로 표현될 수도 있다.
리스트 추천 프로그램(114)은 전자 장치(100)에서 암시적 호출을 통해 프로그램을 실행하는 경우, 암시적 호출의 객체 검색 정보로 전자 장치(100)의 메모리(110)가 포함하는 데이터베이스를 검색 또는 필터링할 수 있고, 정보에 대응하는 프로그램들 목록을 획득할 수 있고, 전자 장치(100)에 표시할 수 있다.
더하여, 전자 장치(100)의 명시적 호출을 통해 프로그램을 실행하는 경우, 명시적 호출의 정보로 전자 장치(100)의 메모리(110)가 포함하는 데이터베이스를 검색 또는 필터링할 수 있고, 실행하는 프로그램의 정보에 관련된 프로그램들 목록을 획득할 수 있고, 전자 장치(100)에 표시할 수 있다.
더하여, 리스트 추천 프로그램(114)은 전자 장치(100)의 메모리(110)에 포함하고 있는 프로그램들에 대한 정보를 통해 데이터베이스를 구축할 수 있다.
상기 정보들은 데이터의 헤더, 프로그램의 정보를 포함하고 있는 데이터 또는 전자 장치(100)에 설치하는 설치 프로그램 패키지가 수행할 수 있는 기능 또는 사용하는 전자 장치(100)의 주변장치 등의 정보를 포함하고 있는 데이터, 전자 장치(100)의 메모리(110)에 포함하고 있는 프로그램 등에서 획득할 수 있다.
예컨대, 리스트 추천 프로그램(114)은 상기 정보들을 통해, 전자 장치(100)의 메모리(110)에 포함하는 프로그램의 기능, 목적, 키워드, Identification(ID) Code, 사용할 수 있는 전자 장치(100)의 주변 장치들, 프로그램을 실행한 횟수, 최근 프로그램을 실행한 시각, 기본 프로그램으로 설정한 프로그램, 기본 프로그램으로 설정한 적이 있는 프로그램, 기본 프로그램 변경 이력 등에 대한 정보를 획득하여 카테고리를 분류하여 목록을 구성할 수 있다. 또한, 인터넷의 프로그램을 다운로드할 수 있는 서버 등에서 전자 장치(100)의 메모리(110)에 포함하는 프로그램들의 다운로드 횟수, 다운로드 순위, 이벤트 여부 또는 이벤트 중인 프로그램, 다운로드를 추천하는 프로그램 등에 대한 정보를 획득할 수 있고, 데이터베이스에 추가할 수 있다.
서비스 상태 확인 프로그램(115)은 전자 장치(100)의 프로그램 또는 구성 장치들이 제공하는 서비스의 상태를 확인하기 위한 적어도 하나의 소프트웨어 구성 요소를 포함할 수 있다.
예컨대, 서비스 상태 확인 프로그램(115)은 전자 장치(100)에서 암시적 호출이 발생함을 확인할 수 있고, 리스트 추천 프로그램(114)을 통해 전자 장치 메모리(110)의 데이터베이스에서 암시적 호출의 객체 검색 정보에 대응하는 프로그램을 검색하는 동작을 수행함을 확인할 수 있다.
다른 예로, 서비스 상태 확인 프로그램(115)은 전자 장치(100)에서 암시적 호출의 객체 검색 정보에 대응하는 프로그램들 중에서 하나를 선택하여 실행하는 상태를 확인할 수 있고, 선택한 프로그램의 UI 동작을 표시하는 터치 스크린(133)에 상기 암시적 호출에 대응하는 프로그램들 중에서 하나 또는 그 이상을 표시하는 상태를 확인할 수 있다.
사용자 인터페이스(User Interface, UI) 프로그램(116)은 전자 장치(100)에서 사용자 인터페이스(UI)를 제공하기 위한 적어도 하나의 명령어, 소프트웨어 구성요소를 포함한다.
예컨대, 사용자 인터페이스 프로그램(114)은 전자 장치(100)에서 사용하는 표준 문자 인코딩 또는 문자 집합 등의 코드에 대응하는 문자 또는 소리로 변환하여 전자 장치(100)의 터치 스크린(133) 또는 스피커(141) 등으로 출력할 수 있다.
다른 예로, 사용자 인터페이스 프로그램(114)은 전자 장치(100)의 암시적 호출의 객체 검색 정보로 데이터베이스를 검색하여 획득한 프로그램들을 실행시킬 수 있는 명령어를 포함하는 아이콘, 링크(Link)를 포함하는 이미지 등을 UI 또는 GUI(Graphic User Interface)로 구성하여 터치 스크린(133)에 표시할 수 있다.
입출력 제어 프로그램(117)은 전자 장치(100)의 동작을 표시부(131)에 표시하고, 입력 장치(132)를 통해 전자 장치(100)의 동작 명령을 입력 받을 수 있다.
통신 제어 프로그램(117)은, 통신 시스템(150)을 이용한 적어도 하나의 제 2 전자 장치와의 통신을 제어하기 위한 적어도 하나의 소프트웨어 구성요소를 포함할 수 있다.
예컨대, 통신 제어 프로그램(117)은 통신을 연결하기 위한 제 2 전자 장치를 검색할 수 있다. 만일, 통신 연결을 위한 제 2 전자 장치가 검색된 경우, 통신 제어 프로그램(117)은 제 2 전자 장치와 통신을 위한 연결을 설정할 수 있다. 이후, 통신 제어 프로그램(117)은 연결된 제 2 전자 장치와의 성능 검색 및 세션 성립 절차를 수행하여 통신 시스템(150)을 통해 제 2 전자 장치와 알람 정보 등의 데이터를 송수신하도록 제어할 수 있다.
응용 프로그램(113)은 전자 장치(100)의 메모리(110)에 설치된 적어도 하나의 응용프로그램에 대한 소프트웨어 구성 요소를 포함할 수 있다.
전자 장치(100)에 포함되는 메모리(110)는 한 개 이상, 다수 개로 구성될 수 있다. 또한 용도에 따라서 프로그램 저장부(111)만의 기능을 할 수도, 데이터 저장부(112)만의 기능을 할 수도, 두 가지 모두의 기능을 할 수도 있으며, 장치 특성상 메모리(110) 내부의 물리적 영역 구분은 명확하지 않을 수 있다.
프로세서 유닛(120)은 메모리 인터페이스(121), 적어도 하나의 프로세서(processor)(122) 및 주변 장치 인터페이스(123)를 포함한다. 여기서, 프로세서 유닛(120)에 포함되는 메모리 인터페이스(121), 적어도 하나의 프로세서(122) 및 주변 장치 인터페이스(123)는 적어도 하나의 회로로 집적화되거나 별개의 구성 요소로 구현할 수 있다.
메모리 인터페이스(121)는 프로세서(122) 또는 주변 장치 인터페이스(123)와 같은 구성요소의 메모리(110) 접근을 제어할 수 있다.
주변 장치 인터페이스(123)는 전자 장치(100)의 입출력 주변 장치와 프로세서(122) 및 메모리 인터페이스(121)의 연결을 제어할 수 있다.
프로세서(122)는 적어도 하나의 소프트웨어 프로그램을 사용하여 전자 장치(100)가 다양한 멀티미디어, 통신 등의 서비스를 제공하도록 제어하고, 입출력 처리부(130)를 통해 표시부(131)로 전자 장치의 UI 동작을 확인할 수 있도록 표시하고, 입력 장치(미도시) 또는 터치 입력 장치(132)가 전자 장치(100) 외부로부터의 명령을 입력받는 서비스를 제공하도록 제어할 수 있다. 이때, 프로세서(122)는 메모리(110)에 저장되어 있는 적어도 하나의 프로그램을 실행하여 해당 프로그램에 대응하는 서비스를 제공하도록 제어할 수 있다.
오디오 처리부(140)는 스피커(141) 및 마이크로폰(142)을 통해 사용자와 전자 장치(100) 사이의 오디오 인터페이스를 제공할 수 있다.
예컨대, 전자 장치(100)는 마이크로폰(142)에 암시적 호출을 실행할 수 있는 미리 정한 음성 명령어로 입력하도록 제어할 수 있고, 전자 장치(100)에서 수행하는 서비스의 알림 또는 암시적 호출의 객체 검색 정보로 데이터베이스를 검색하여 획득한 프로그램들의 목록 등을 스피커(141)를 통해 음성으로 출력하도록 제어할 수 있다.
통신 시스템(150)은 통신 기능을 수행한다. 통신 시스템(150)은 기지국을 통하는 등의 이동 통신, 적외선 무선통신(IrDA), 블루투스(Bluetooth), Wireless Fidelity(Wi-Fi, WiFi) 등의 근거리 무선 통신 및 무선랜 통신, 유선 통신 중 적어도 어느 하나를 이용하여 제 2 전자 장치와의 통신을 수행할 수 있다.
입출력 처리부(130)는 표시부(131) 및 입력 장치(132) 등의 입출력 장치와 주변 장치 인터페이스(123) 사이에 인터페이스를 제공할 수 있다.
입력 장치(132)는 사용자의 선택에 의해 발생하는 입력 데이터를 입출력 처리부(130)를 통해 프로세서 유닛(120)으로 제공할 수 있다.
예컨대, 입력 장치(132)는 전자 장치(100)의 외부로부터 제어를 위한 데이터를 제공받기 위해서 제어 버튼만으로 구성되거나, 키패드로 구성될 수도 있다.
다른 입력 장치(132)는 터치 스크린(Touch Screen)(133)과 같이 표시부(132)에 포함되어 제공될 수 있다. 이때 터치 스크린(133)의 입력 장치(132)는 정전용량 방식, 저항막(압력 감지) 방식, 적외선 방식, 전자 유도 방식, 초음파 방식 등을 사용할 수 있다.
표시부(131)는 전자 장치(100)의 상태 정보, 외부에서 입력하는 문자, 동화상(Moving Image) 또는 정화상(Still Image)(동화상 또는 정화상, 이하 이미지) 등을 프로세서 유닛(120)으로부터 제공받아 UI 동작을 구성하여 입출력 제어부(131)를 통해서 표시할 수 있다.
터치 스크린(133)은 물리적으로 표시부(131) 상에 터치 입력 장치(132)를 결합한 장치로서, 전자 장치(100)의 동작에 있어서 표시부(131)에 표시하고 있는 화면 구성을 터치(Touch)하여 명령을 입력할 수 있다.
따라서, 터치 스크린(133)은 전자 장치(100)의 UI 동작을 표시하는 표시부(131)와, 외부의 명령을 전자 장치(100)에 입력하는 입력 장치(132)의 역할을 모두 수행할 수 있으므로, 이하 설명에서, 터치 스크린(133)의 표시부(131)와, 터치 스크린(133)의 입력 장치(132)를 터치 스크린(133)으로 표시할 수 있다.
본 개시의 실시 예를 설명함에 있어서, 전자 장치(100)에 표시 또는 전자 장치(100)에 출력은 전자 장치(100)의 터치 스크린(133)에 동화상, 정화상 또는 GUI 동작 등을 표시하거나, 스피커(141)로 신호음 또는 음성 등의 오디오 출력 방법을 사용할 수 있다. 이하의 설명에서도 마찬가지의 의미로 표시 또는 출력을 사용할 수 있고, 구분할 필요가 있을 때에는 따로 설명할 수 있다.
도 2는 도 1의 한 실시 예에 따른 전자 장치의 호출에 따른 동작을 도시한다.도 2를 참조하면, 전자 장치(100)는 프로그램들을 처리할 수 있는 소프트웨어 모듈로 구성된 컴포넌트를 통해 사용자와 커뮤니케이션 할 수 있다.
( 도 2를 참조하면, 전자 장치(100)는 컴포넌트(201)가 동작하고 있는 상태에서, 아이콘 등을 선택 또는 음성 명령 등을 입력하는 제 1 호출(211)을 통해 제 2 컴포넌트(207)를 실행할 수 있다. 제 1 호출(211)은 명확하게 정의된 대상을 실행할 수 있는 명시적 호출을 발생할 수 있고, 명시적 호출이 발생하면 명시적 호출 정보에 대응하는 제 2 컴포넌트(207)를 실행할 수 있다. 명시적 호출은 정확한 대상 프로그램을 실행할 수 있는 명령을 포함할 수 있고, 전자 장치(100)의 리스트 추천 프로그램(203) 등의 필터링(205) 동작 없이 대상 프로그램을 실행할 수 있다.
다른 예로, 전자 장치(100)는 컴포넌트(201)가 동작하고 있는 상태에서, 아이콘 등을 선택 또는 음성 명령 등을 입력하는 제 2 호출(213)을 통해 해당하는 목록을 필터링할 수 있다. 제 2 호출(213)은 대상이 명확하게 정의되지 않은 암시적 호출일 수 있고, 암시적 호출이 발생하면, 실행시킬 프로그램 등에 대한 명확한 대상이 존재하지 않음으로 전자 장치(100)는 리스트 추천 프로그램(114) 등의 데이터베이스를 통해 암시적 호출의 객체 검색 정보에 부합하는 프로그램들 목록을 필터링할 수 있다.
전자 장치(100)는 암시적 호출의 객체 검색 정보들이 포함하는 전자 장치(100)의 기능 또는 식별 코드 등의 데이터에 대응하는 전자 장치(100)의 기능 또는 식별 코드 등을 포함하는 프로그램 등을 데이터베이스에서 획득할 수 있고 목록을 구성할 수 있다. 전자 장치(100)는 필터링한 프로그램들 목록을 전자 장치(100)의 터치 스크린(133) 또는 제 2 전자 장치 등에 UI 동작을 구성하여 표시할 수 있고, 스피커(141) 장치 등을 통해 소리로 표시할 수 있다.
전자 장치(100)는 표시하는 프로그램 목록에서 제 3 호출을 통해 제 2 프로그램을 실행할 수 있다. 제 3 호출(215)은 명확하게 정의된 대상을 포함하는 명시적 호출일 수 있고, 제 2 컴포넌트(207)를 실행할 수 있는 명시적 호출이 발생하면 제 1 호출(211)과 같이 제 2 컴포넌트(207)를 실행할 수 있다.
여기에서, 제 1 소프트웨어 모듈은 전자 장치(100)에서 하나의 사용자 인터페이스를 나타내는 단위일 수 있다. 전자 장치(100)는 하나의 프로그램에 복수 개의 제 1 소프트웨어 모듈을 포함할 수 있고, 하나의 결합된 사용자 인터페이스(User Interface, UI)를 형성하기 위해서 복수 개의 제 1 소프트웨어 모듈들이 함께 동작할 수 있고, 각각의 제 1 소프트웨어 모듈들은 다른 제 1 소프트웨어 모듈과 독립하여 동작할 수 있다.
제 2 소프트웨어 모듈은 전자 장치(100)에 표시하는 사용자 인터페이스(UI) 동작을 구성하지 않을 수 있고, 백그라운드(Background)에서 실행할 수 있는 컴포넌트일 수 있다. 제 2 소프트웨어 모듈은 전자 장치(100)가 특정 동작(제 1 프로그램)을 수행하고 있는 중에도, 백그라운드를 통해 다른 동작(제 2 프로그램을 통한 음악 플레이 또는 제 3 프로그램을 통한 데이터 처리) 등을 수행할 수 있다. 또한, 상기 다른 동작 등을 처리하여, 그 결과를 제 1 소프트웨어 모듈 등에 제공할 수 있다.
한 실시 예에서, 전자 장치(100)는 제 1 프로그램을 통해 음악을 플레이 함에 있어, 상기 제 2 프로그램은 플레이 할 음악을 선택하고, 재생, 뒤로 가기, 다음 곡 재생, 등의 작업을 할 수 있는 하나 또는 복수 개의 제 1 소프트웨어 모듈 등을 제공할 수 있다. 하지만, 전자 장치(100)는 상기 제 2 프로그램의 표시를 벗어나 제 1 프로그램을 실행하는 중에도 계속 음악을 플레이 할 수 있고, 음악을 플레이 하는 그 자체는 제 1 소프트웨어 모듈에 의한 제어가 아닐 수 있다. 제 2 프로그램을 실행하면, 새로운 스레드(Thread) 등을 생성할 수 있고, 생성한 스레드 등은 음악 플레이를 담당할 수 있고, 제 2 프로그램 외의 동작을 수행할 때에도 백그라운드에서 동작할 수 있다.
제 3 소프트웨어 모듈은, 전자 장치(100)의 동작에 있어서 액티브(Active)한 동작 등은 수행하지 않고, 브로드캐스트(Broadcast) 등을 수신하고 또는 응답하는 동작을 수행할 수 있는 소프트웨어 모듈일 수 있다. 제 3 소프트웨어 모듈은 전자 장치(100)의 배터리 부족 알림, 문자 메세지 수신, 음악 플레이 등의 시스템 코드 또는 프로그램 등에서 발생할 수 있는 브로드캐스트 등을 수신 또는 응답할 수 있고, 프로그램 등은 복수 개의 브로드캐스트에 응답할 수 있는 복수 개의 제 3 소프트웨어 모듈을 포함할 수 있다.
전자 장치(100)는 사용자 인터페이스(UI)를 구성하여 출력하지 않을 수 있고, 수신하는 정보에 응답하는 프로그램 또는 소프트웨어 모듈 등을 실행할 수 있고, 소리, 진동 등의 다양한 방법들을 사용하여 응답을 표시할 수 있다.
제 4 소프트웨어 모듈은, 전자 장치(100)의 동작에 있어서, 프로그램 등에서 데이터 등을 생성하는 동작을 수행할 수 있다. 생성하는 데이터는 전자 장치(100)의 데이터베이스 등을 구성하는 데이터일 수 있다. 또한, 제 4 소프트웨어 모듈은 제어할 수 있는 데이터 등을 다른 프로그램 등에서도 사용할 수 있도록 제공할 수 있다. 전자 장치(100)는 주소록 데이터를 포함할 수 있고, 제 1 프로그램은 주소록을 입력받아 제 2 전자 장치와 문자 메세지를 송수신할 수 있는 Social Network Service(SNS)일 수 있다. 제 4 소프트웨어 모듈은 제 1 프로그램을 통해 제 2 전자 장치와 커뮤니케이션 하기 위한 대상에 대한 정보를 포함하고 있는 주소록 데이터를 제 1 프로그램에 제공할 수 있다.
상술한 실시 예의 소프트웨어 모듈들은 안드로이드(Android)를 예로 들 경우 액티비티(Activity) 컴포넌트, 서비스 컴포넌트, 브로드캐스트 리시버(Broadcast Receiver) 컴포넌트, 컨텐츠 프로바이더(Content Provider) 등일 수 있다.
예컨대, 도 2에 도시하고 있는 컴포넌트들은, 전자 장치(100)에서 동작하고 있는 , 프로그램, 백그라운드 서비스 또는 프로그램 등 전자 장치(100)에 표시하고 있는 UI 동작 등일 수 있다.
본 개시의 다양한 실시 예에서, 전자 장치(100)의 Operating System(OS, 운영 체제)는 안드로이드를 예로 설명할 수 있다. 물론, 상술한 설명과 이하 설명에서 본 개시의 범위는 안드로이드가 OS인 전자 장치(100)뿐만 아니라, 본 개시를 적용 가능한 다른 OS를 포함하는 전자 장치(100)도 포함할 수 있어야 할 것이다.
도 3a 및 도 3b는 도 1의 한 실시 예에 따른 전자 장치에서, 암시적 호출의 동작을 도시한다.전자 장치(100)는 다양한 방법을 통해 암시적 호출 또는 명시적 호출을 발생할 수 있다. 전자 장치(100)는 뷰(View) 또는 위젯(Widget) 등의 액티비티 또는 컴포넌트 등을 표시하는 제 1 프로그램 동작 중에, 제 2 프로그램을 실행함에 있어서, 제 2 프로그램을 실행할 수 있는 동작으로 암시적 호출 또는 명시적 호출 등을 발생할 수 있는 명령을 포함하는 아이콘, 뷰 또는 위젯 등을 선택할 수 있다.
도 3a는 전자 장치(100)가 제 1 프로그램을 동작하고 있는 경우, 터치 스크린(133)에 표시하고 있는 UI 동작 구성에서 지도 관련 호출을 발생할 수 있는 아이콘, 뷰 또는 위젯 등의 UI 객체(301)를 터치(303)하여 선택할 수 있다.
상기 UI 객체(301)가 명확하게 정의된 대상을 실행할 수 있는 명령을 포함하는 명시적 호출인 경우, 대응하는 지도 프로그램을 실행할 수 있다.
반면, UI 객체(301)가 실행할 프로그램의 대상을 명확하게 정의하지 않는 암시적 호출인 경우, 암시적 호출 또는 선택한 아이콘, 뷰 또는 위젯 등의 UI 객체가 포함하는 정보들로 리스트 추천 프로그램(114) 등의 데이터베이스에서 정보들에 부합하는 지도 프로그램들을 필터링할 수 있고, 획득한 프로그램 목록을 터치 스크린(133)에 표시할 수 있다. 표시하고 있는 지도 프로그램들 목록 중에서 하나의 UI 객체를 선택할 수 있고, 전자 장치(100)는 선택한 UI 객체가 포함하는 호출에 대응하는 지도 프로그램을 실행할 수 있다. 전자 장치(100)가 암시적 호출의 객체 검색 정보로 필터링하는 프로그램 목록은 명시적 호출을 발생하는 컴포넌트일 수 있다.
도 3b는 전자 장치(100)가 제 1 프로그램을 동작하고 있는 경우, 마이크(142)에 음성 명령을 입력함으로써, 지도 관련 호출을 발생할 수 있다.
상기 음성 명령이 명확한 대상을 실행할 수 있는 명령을 포함하는 명시적 호출인 경우, 대응하는 지도 프로그램을 실행할 수 있다.
반면, 상기 음성 명령이 실행할 프로그램의 대상을 명확하게 정의하지 않는 암시적 호출인 경우, 암시적 호출 또는 입력한 음성 명령에 해당하는 데이터가 포함하는 정보들로 리스트 추천 프로그램(114) 등의 데이터베이스에서 정보들에 부합하는 지도 프로그램들을 필터링할 수 있고, 획득한 프로그램 목록을 스피커(141)를 통해 음성 출력으로 표시할 수 있다. 또한, 전자 장치(100)는 획득한 프로그램 목록을 음성 출력(411)과 함께, UI 객체들로 표시할 수 있다.
전자 장치(100)는 표시한 프로그램 목록 중에서 하나의 UI 객체를 선택할 수 있고, 음성 명령으로 입력할 수도 있다. 입력한 음성 명령 "2D(2 Dimension) 지도"가 2D 지도 프로그램을 실행할 수 있는 명시적 호출인 경우, 대응하는 2D 지도 프로그램을 실행할 수 있다.
도 4a 및 도 4b는 도 1의 한 실시 예에 따른 전자 장치에서, 암시적 호출의 처리에 따른 동작을 도시한다.도 4a를 참조하면, 전자 장치(100)는 암시적 호출의 객체 검색 정보로 필터링한 프로그램들 목록을 음성출력 할 수 있다. 도 3a에서 선택(303)한 지도 아이콘(301) 또는 도 3b에서 입력한 음성 명령 등이 암시적 호출인 경우, "지도" 명령의 객체 검색 정보(정보는 "지도 사용"이 조건일 수 있다)로 데이터베이스를 검색할 수 있고, 조건에 부합하는 프로그램들을 필터링할 수 있고, 지도를 사용하는 "2D 지도", "3D 지도", "교통 상황", "관광 명소", "빠른길 찾기"의 프로그램들을 필터링할 수 있다. 전자 장치(100)는 필터링한 프로그램들 목록을 도 4a의 411과 같이 음성으로 표시할 수 있다.
도 4b를 참조하면, 전자 장치(100)는 암시적 호출 정보로 필터링한 프로그램들 목록을 전자 장치(100)의 터치 스크린(133)에 팝업 창 등으로 표시할 수 있다. 도 3a에서 선택(303)한 지도 아이콘(301) 또는 도 3b에서 입력한 음성 명령 등이 암시적 호출인 경우, "지도" 명령의 객체 검색 정보(정보는 "지도 사용"이 조건일 수 있다)로 데이터베이스를 검색할 수 있고, 조건에 부합하는 프로그램들을 필터링할 수 있고, 지도를 사용하는 "2D 지도", "3D 지도", "교통 상황", "관광 명소"의 프로그램들을 필터링할 수 있다. 전자 장치(100)는 필터링한 프로그램들 목록을 도 4b의 409와 같이 팝업 창에 표시할 수 있다.
도 5a 및 도 5b는 도 1의 한 실시 예에 따른 전자 장치에서, 데이터 처리에 따른 UI 동작의 구성을 도시한다.도 5a를 참조하면, 전자 장치(100)에 암시적 호출을 통해 실행한 지도 프로그램(지도 프로그램 외의 다른 프로그램일 수도 있다)을 동작하고 있고, 지도 프로그램의 UI 동작을 표시하는 터치 스크린(113)에 지도 프로그램의 암시적 호출의 객체 검색 정보로 필터링한 프로그램들 목록을 확인할 수 있다는 알림(513)을 표시할 수 있다.
더하여, 전자 장치(100)는 실행하고 있는 지도 프로그램을 표시하는 터치스크린(133)의 일정 영역에 다른 프로그램을 실행할 수 있는 명령어를 포함하는 UI 객체(아이콘, 링크를 포함하는 텍스트 등)를 포함할 수 있다. UI 객체로 도 5a의 Gallery(517) 또는 Capture(515)는 명시적 호출 또는 암시적 호출로 구성할 수 있고, UI 객체의 내용이 암시적 호출인 경우 전자 장치(100)는 메모리(110)의 데이터베이스에서 암시적 호출의 객체 검색 정보에 대응하는 하나 또는 그 이상의 프로그램을 획득할 수 있다. 다른 예로, UI 객체의 내용이 명시적 호출인 경우 전자 장치(100)는 Gallery(517)에 대응하는 프로그램을 실행할 수 있고, Capture(515)에 대응하는 명령을 수행할 수 있다.
도 5b를 참조하면, 전자 장치(100)에서 암시적 호출을 통해 하나의 프로그램(도 5b에서는 지도 프로그램일 수 있다, 501)을 실행할 수 있고, 실행한 프로그램을 종료하지 않은 상태에서, 갤러리 프로그램을 실행할 수 있고, 실행한 갤러리 프로그램의 UI 동작을 표시하고 있는 터치 스크린(133)에 상기 암시적 호출의 객체 검색 정보로 필터링한 프로그램들 목록(지도와 관련된 명령어로 데이터베이스를 필터링 하여 획득한 프로그램들 목록일 수 있다)을 확인할 수 있다는 알림(501)을 표시할 수 있다.
프로그램 등의 실행 명령을 포함할 수 있는 아이콘, 뷰, 위젯 또는 음성 명령의 호출이 포함할 수 있는, 지도 프로그램 실행 명령에 따른 지도 프로그램의 실행 UI 동작의 구성을 표시할 수 있다.
상기 지도 프로그램이 암시적 호출로 데이터베이스 필터링을 수행하고, 필터링한 프로그램들 목록에서 선택하여 실행된 경우, 지도 프로그램을 동작하고 있는 상태에서 상기 암시적 호출로 획득한 프로그램들 목록을 확인할 수 있다는 알림(501)을 표시할 수 있다.
전자 장치(100)는 암시적 호출로 획득한 프로그램들 목록에 대한 데이터를 전자 장치(100)의 메모리(110)에 저장할 수 있다. 저장한 상기 데이터는 전자 장치(100)의 메모리(110)에 활성화 상태로 유지할 수 있고, 기준 조건을 만족할 때까지 기준 동작을 수행함으로써 전자 장치(100)에 표시할 수 있고, 표시 해제할 수 있다.
예컨대, 도 3a의 지도 아이콘(301)이 암시적 호출인 경우, 전자 장치(100)는 리스트 추천 프로그램(114) 등을 통해 메모리(110)에 저장하고 있는 데이터베이스에서 암시적 호출의 데이터가 포함하고 있는 정보에 대응하는 프로그램들 목록을 획득할 수 있다. 전자 장치(100)는 획득한 프로그램들 목록을 도 4b의 409와 같이 전자 장치(100)의 터치 스크린(133) 등에 UI 동작을 구성하여 표시할 수 있고, 도 4a의 411과 같이 스피커(141)를 통해 음성으로 표시할 수 있다. 전자 장치(100)는 표시한 프로그램들 목록에서 하나의 프로그램을 선택하는 동작(UI 객체의 선택 또는 음성 입력 등)을 감지할 수 있고, 동작이 포함하는 명시적 호출로 대응하는 지도 프로그램을 실행할 수 있다.
여기에서, 기준 동작은 전자 장치(100)의 터치 스크린(133)의 UI객체를 처치하는 동작, UI 객체를 터치, 드래그, 터치 해제하는 동작, UI 객체를 복수 횟수만큼 터치하는 동작, 호버링을 통한 동작, 안구(Eyeball) 및/또는 홍채(Iris) 인식을 통한 동작, 뇌파 인식을 통한 동작, 버튼 클릭을 통한 동작, 전자 장치(100)를 통해 미리 정한 모션(Motion)을 수행하는 동작 중에서 하나 또는 그 이상으로 정할 수 있고, 이하의 설명에서 기준 동작은 상술한 기준 동작의 실시 예를 포함할 수 있다.
전자 장치(100)는 지도 프로그램의 UI 동작을 표시하고 있는 터치 스크린(133)에 상기 필터링한 프로그램들 목록을 확인할 수 있도록 알림(501)을 표시할 수 있다. 알림은 도 5a의 501과 같이 알림 바(Notification bar), 도 4b의 409와 같이 알림 창(기준 동작을 수행하여 표시할 수 있다) 또는, 도 4a의 411과 같이 음성 출력, 팝업 메시지(도 4b의 409) 등으로 표시할 수 있다. 상기 알림의 내용은 도 5a의 501과 같이 텍스트 형태, 도 4b의 409와 같이 이미지를 포함하는 형태, 도 4a의 412와 같이 알림바에 아이콘으로 표시하는 형태 또는 도 4a의 411과 같이 음성으로 출력하는 형태 등으로 표시할 수 있다. 전자 장치(100)는 알림 바(도 5a의 501)의 내용을 확인하는 경우, 알림 바를 터치 또는 드래그하는 등의 방법으로 필터링한 프로그램들을 표시할 수 있다.
지도 프로그램은 프로그램 내에서 연동할 수 있는 제 2 프로그램들을 지도 프로그램의 UI 동작을 표시하고 있는 터치 스크린(133) 등에 표시하거나, 음성 출력 등으로 표시할 수 있다.
예컨대, 도 5a를 참조하면, 지도 프로그램을 표시하고 있는 터치 스크린(133)에 연동할 수 있는 제 2 프로그램들로 터치 스크린(133)에 표시하고 있는 지도 프로그램의 UI 동작을 캡쳐(Capture)할 수 있는 캡쳐 아이콘(515) 또는 캡쳐한 사진 등의 정화상 또는 동화상 등을 확인할 수 있는 갤러리(Gallery) 프로그램을 시작할 수 있는 갤러리 아이콘(517) 등을 표시할 수 있다. 지도 프로그램에 표시하는 캡쳐 아이콘(515) 또는 갤러리 아이콘(517) 등은 명시적 호출 또는 암시적 호출일 수 있다.
전자 장치(100)는 지도 프로그램에 표시하고 있는 갤러리 아이콘(517)을 선택함으로써 갤러리 프로그램을 실행할 수 있다. 갤러리 아이콘(517)을 구성하는 명령이 명시적 호출인 경우 대응하는 갤러리 프로그램을 실행할 수 있다.
전자 장치(100)는 명시적 호출로 갤러리 프로그램을 실행할 수 있고, 갤러리 프로그램의 동작을 표시하고 있는 터치 스크린(133)에 상기 필터링한 프로그램들 목록을 확인할 수 있도록 알림(501)을 표시할 수 있다. 알림(501)은 도 5b와 같이 알림 바(501), 도 4b의 409와 같이 알림 창(기준 동작을 수행하여 표시할 수 있다) 또는 도 4a의 411과 같이 음성 출력 등으로 표시할 수 있다. 전자 장치(100)는 알림 바(도 5b의 501)의 내용을 확인하는 경우, 알림 바를 터치 또는 드래그하는 등의 방법으로 필터링한 프로그램들을 표시할 수 있다.
전자 장치(100)는 처음 암시적 호출에 의해 필터링한 프로그램들 목록을 통해 실행한 지도 프로그램을 종료하지 않고, 지도 프로그램에서 표시하고 있는 갤러리 아이콘(517)을 통해 갤러리 프로그램을 실행할 수 있다. 전자 장치(100)는 종료되지 않은 지도 프로그램을 선택할 수 있었던 프로그램 목록을 메모리(110)에 저장할 수 있고, 연동하여 실행한 갤러리 프로그램에서 확인할 수 있도록 알림(501)을 표시할 수 있다. 전자 장치(100)가 갤러리 프로그램의 UI 동작을 표시하는 터치 스크린(133)에 표시하는 알림(501)의 데이터는 갤러리 프로그램을 연동할 수 있는 갤러리 아이콘(517)을 표시하는 지도 프로그램을 표시하는 도 5a의 알림(501)과 동일한 데이터일 수 있다. 전자 장치(100)는 터치 스크린에 표시하고 있는 알림(501)을 터치 또는 드래그함으로써 암시적 호출이 포함할 수 있는 정보로 필터링한 프로그램들 목록을 표시할 수 있다. 상기 프로그램들 목록은 알림 바로 표시하는 방법 외에도, 기준 동작을 수행함으로써 도 4b의 409와 같이 알림 창(전자 장치의 동작을 표시하고 있는 터치 스크린에 팝업으로 표시하는 팝업 창일 수 있다)에 표시하는 방법 등으로 표시할 수 있다.
도 6은 도 1의 한 실시 예에 따른 전자 장치에서, 데이터 처리에 따른 UI 동작의 구성을 도시한다.도 6를 참조하면, 전자 장치(100)는 암시적 호출의 객체 검색 정보로 필터링한 프로그램들 목록 전자 장치(100)의 터치 스크린(133) 또는 음성 출력 등으로 표시할 수 있고, 표시하는 프로그램들 중에서 하나의 프로그램을 선택하여 실행할 수 있다. 전자 장치(100)는 도 5a의 403 또는 5b의 501과 같이 프로그램이 동작하고 있는 전자 장치의 터치 스크린(133)에 알림 바 형태로 상기 필터링한 프로그램들을 확인할 수 있는 알림(403 또는 501) 등을 표시할 수 있다. 전자 장치(100) 상기 알림을 터치 또는 드래그하는 등의 방법으로 도 6과 같이 상기 필터링한 프로그램들을 확인할 수 있다.
전자 장치(100)는 암시적 호출의 객체 검색 정보로 필터링한 프로그램들 목록에서 하나의 프로그램을 선택하여 기본 프로그램으로 정할 수 있고, 기본 프로그램을 정하는 경우, 해당 암시적 호출은 실행할 수 있는 명확한 대상을 포함할 수 있고, 명시적 호출인 것처럼 동작할 수 있다. 전자 장치(100)는 도 6의 필터링한 프로그램들을 표시하는 터치 스크린(133)에 601과 같이 선택한 하나의 프로그램을 기본 프로그램으로 정할 것인지 여부를 설정할 수 있는 선택 메뉴를 표시할 수 있고, 팝업 창 등으로 표시할 수도 있다.
도 7a 내지 도 7e는 도 1의 한 실시 예에 따른 전자 장치에서, 암시적 호출 처리에 따른 UI 동작의 구성을 도시한다.도 7a를 참조하면, 전자 장치(100)는 SNS 아이콘(도 3a의 305를 선택하는 경우일 수 있다)을 선택하여 암시적 호출을 발생할 수 있고, SNS 아이콘(도 3a의 305)의 객체 검색 정보에 대응하는 프로그램들을 전자 장치(100)의 데이터베이스를 검색 또는 필터링할 수 있고, 필터링한 프로그램들 목록을 도 7a의 709와 같이 전자 장치(100)의 터치 스크린(133) 등에 표시 또는 스피커(141)를 통해 음성 출력 등으로 표시할 수 있다.
도 7b를 참조하면, 전자 장치(100)는 표시하는 필터링한 프로그램들 목록 중에 하나의 프로그램을 선택할 수 있고, 전자 장치는 선택한 프로그램을 실행할 수 있다. 전자 장치(100)는 도 7a에서 필터링한 프로그램 목록을 팝업 창(709)으로 표시할 수 있고, 전자 장치(100)는 표시하는 프로그램들에서 하나의 프로그램(블로그 프로그램일 수 있다)을 선택할 수 있다. 전자 장치(100)는 블로그 프로그램(703)을 선택하는 경우, 선택한 블로그 프로그램을 기본 프로그램으로 설정할 것인지 여부를 입력하는 메뉴(711)를 표시할 수 있다.
전자 장치(100)는 상기 711 메뉴에서 한 번만 실행을 선택하는 경우, SNS 아이콘(305)의 암시적 호출에 블로그 프로그램(703)을 기본 프로그램으로 설정하지 않을 수 있고, 도 3a의 SNS 아이콘(305)을 선택하는 경우 암시적 호출에 명확한 대상 프로그램을 포함하고 있지 않을 수 있고, 도 7a의 709와 같이 SNS 아이콘(305)이 포함하는 암시적 호출의 객체 검색 정보로 전자 장치(100)의 데이터베이스를 검색 또는 필터링한 결과로 획득한 프로그램들 목록을 709 등과 같이 표시할 수 있다.
전자 장치(100)는 상기 711 메뉴에서 기본 프로그램으로 설정을 선택하는 경우, SNS 아이콘(305)의 암시적 호출에 블로그 프로그램(703)을 기본 프로그램으로 설정할 수 있고, 도 3a의 SNS 아이콘(305)을 선택하는 경우, 암시적 호출에 명확한 대상 프로그램(상기 기본 프로그램으로 설정한 블로그 프로그램일 수 있다)을 포함할 수 있고, 도 7a의 709와 같이 SNS 아이콘(305)이 포함하는 암시적 호출의 객체 검색 정보로 전자 장치(100)의 데이터베이스를 검색 또는 필터링한 결과로 획득한 프로그램들 목록을 709 등과 같이 표시하는 동작을 수행하지 않고, 도 7c와 같이 블로그 프로그램(703)을 실행할 수 있다. 기본 프로그램을 블로그 프로그램(703)으로 설정한 SNS 아이콘(도 3a의 305)은, 블로그 프로그램(703)을 실행할 수 있는 명시적 호출인 것처럼 동작할 수 있다.
도 7c를 참조하면, 전자 장치(100)는 도 7b를 통해 실행하는 블로그 프로그램의 동작을 표시하는 터치 스크린(133) 등에 도 7a에서 발생한 암시적 호출에 대한 전자 장치(100)의 데이터베이스 검색 또는 필터링을 통한 필터링한 프로그램들 목록을 확인할 수 있는 알림(713)을 표시할 수 있다. 전자 장치(100)는 필터링한 프로그램들 목록을 표시할 수 있고, 하나의 프로그램을 선택하여 실행할 수 있고, 상기 필터링한 프로그램들 목록을 삭제하지 않고 메모리(110)에 저장할 수 있고, 선택한 하나의 프로그램을 동작하는 중에 기준 동작을 통해 상기 필터링한 프로그램들 목록을 전자 장치(100)의 터치 스크린(133) 등을 통해 표시할 수 있다.
전자 장치(100)는, 실행하고 있는 제 1 프로그램(블로그 프로그램일 수 있다)의 동작을 표시하는 화면에, 제 2 프로그램(블로그 프로그램의 동작과 관계있는 카메라 촬영 프로그램일 수 있다)을 실행할 수 있는 아이콘(701) 또는 링크 등을 표시할 수 있다. 전자 장치(100)는 카메라 아이콘(701)을 선택(715)할 수 있고, 블로그 프로그램을 종료하지 않을 수 있고, 카메라 아이콘을 실행할 수 있다.
도 7d를 참조하면, 전자 장치(100)는 도 7c에서 선택한 카메라 아이콘(701)을 통해 카메라 프로그램을 실행할 수 있다. 전자 장치(100)는 도 7c에서 블로그 프로그램의 동작에서 카메라 아이콘(701)을 통해 카메라 프로그램을 실행하는 경우, 블로그 프로그램의 동작을 종료하지 않은 상태에서 카메라 프로그램을 실행할 수 있다. 전자 장치(100)는 암시적 호출을 발생으로 블로그 프로그램을 선택할 수 있도록 하는 필터링한 프로그램들 목록을 블로그 프로그램을 종료할 때까지 메모리(110)에 저장할 수 있고, 블로그 프로그램에서 실행한 카메라 프로그램의 동작을 표시하고 있는 전자 장치(100)에 기준 동작을 입력함으로써 필터링한 프로그램들 목록을 확인할 수 있다.
더하여, 전자 장치(100)는 카메라 프로그램을 실행할 수 있는 카메라 아이콘(701) 등을 선택하는 등의 입력이 있는 경우, 카메라 프로그램 실행 명령 등이 포함하는 프로그램의 기능, 프로그램의 목적, 키워드, Identification(ID) Code, 프로그램이 사용할 수 있는 전자 장치(100)의 주변 장치들 등의 정보들로 전자 장치(100)의 데이터베이스를 검색 또는 필터링할 수 있고, 카메라 프로그램과 관련이 있는 관련 프로그램들 목록을 획득할 수 있다. 상기 관련 프로그램들 목록이 포함하는 프로그램은 전자 장치(100)의 메모리(110)에 포함하는 프로그램일 수 있고, 메모리(110)에 포함하지 않는 경우 해당 프로그램을 다운로드 할 수 있는 명령어, 아이콘, 링크 등을 제공할 수 있다.
전자 장치(100)는 카메라 프로그램의 동작을 표시하고 있는 터치 스크린(133) 등에 필터링한 프로그램들 목록 또는 관련 프로그램들 목록 등을 확인할 수 있는 알림(717)을 알림 바 또는 알림 창에 표시 또는 음성 출력으로 표시 등의 방법으로 표시할 수 있다.
도 7e를 참조하면, 전자 장치(100)는 카메라 프로그램의 UI 동작과, 도 7d의 알림(717) 등을 터치 스크린(133) 등에 표시할 수 있고, 전자 장치(100)는 알림(717)을 터치 또는 드래그하는 등의 기준 동작을 수햄함으로써, 내용을 확인할 수 있다.
전자 장치(100)는 도 7e의 경우, 도 7d의 알림 바의 알림(717) 등을 터치 또는 드래그함으로써 필터링한 프로그램들 목록(721), 암시적 호출의 객체 검색 정보로 필터링한 프로그램들 목록에서 선택하는 하나의 프로그램을 암시적 호출의 기본 프로그램으로 설정할지 여부를 선택할 수 있는 메뉴(601) 또는 블로그 프로그램에서 실행한 카메라 프로그램과 관련이 있는 관련 프로그램들 목록(719) 등을 표시할 수 있다.
더하여, 도시하고 있지는 않지만, 전자 장치(100)는 암시적 호출에 기본 프로그램이 설정되어 있는 경우 이를 해제할 수 있는 메뉴를 추가로 제공할 수 있다.
전자 장치(100)는 블로그 프로그램을 종료하는 경우, 필터링한 프로그램들 목록을 데이터베이스에 추가할 수 있고 또는 메모리(110)에서 삭제할 수 있고, 카메라 프로그램을 종료하는 경우, 관련 프로그램들 목록을 데이터베이스에 추가할 수 있고 또는 메모리(110)에서 삭제할 수 있다.
예컨대, 전자 장치(100)는 상기 프로그램을 종료하는 동작 외에도, 암시적 호출로 하나의 프로그램을 실행하고 기준 시간이 경과 하였는지, 기본 프로그램의 변경이 있었는지, 암시적 호출 정보로 데이터베이스를 검색 또는 필터링한 이후에 전자 장치(100)의 메모리(110)에도 포함한 프로그램이 있는지 등의 조건에 따라서 표시 여부 또는 데이터 삭제 여부 등을 결정할 수 있다.
도 8a 및 도 8b는 본 개시의 다양한 실시 예에 따른 전자 장치에서, 프로그램 동작의 상세한 흐름을 도시한다.
도 8a을 참조하면, 전자 장치(100)는 암시적 호출을 발생할 수 있고, 암시적 호출의 객체 검색 정보에 부합하는 프로그램들을 전자 장치(100)의 데이터베이스에서 필터링할 수 있고, 필터링한 프로그램들 목록을 전자 장치(100)에 표시할 수 있고, 하나의 제 1 프로그램을 선택하여 실행할 수 있고, 선택한 제 1 프로그램을 상기 암시적 호출의 기본 프로그램으로 정할 수 있고, 상기 실행하는 제 1 프로그램에서 기준 동작을 통해 상기 필터링한 프로그램들을 표시할 수 있다.
동작(801)에서, 전자 장치(100)는 전자 장치(100)의 터치 스크린(133)에 표시하고 있는, 전자 장치(100)의 메모리(110)에 저장하고 있는 프로그램을 실행할 수 있는 호출 등을 포함하는 아이콘 등의 UI 객체 등을 선택할 수 있다. 선택한 UI 객체 등이 포함하는 호출이 암시적 호출인 경우, 암시적 호출은 명령어 등에 실행하는 명확한 대상 프로그램을 포함하지 않을 수 있다. 암시적 호출은 실행하고자 하는 프로그램의 특징에 대한 정보들을 포함할 수 있고, 이 정보들로 하나 또는 복수 개의 실행 가능한 프로그램들을 결정할 수 있다. 상기 정보들은 프로그램의 기능, 프로그램의 목적, 키워드, Identification(ID) Code 등 프로그램이 사용할 수 있는 전자 장치(100)의 주변 장치들 등의 정보들로 구성할 수 있다.
동작(803)에서, 전자 장치(100)는 암시적 호출의 객체 검색 정보에 부합하는 프로그램들을 전자 장치(100)의 데이터베이스에서 검색 또는 필터링할 수 있다. 전자 장치(100)의 데이터베이스는 전자 장치(100)의 메모리에 설치 또는 저장하고 있는 프로그램들에 대한 프로그램의 기능, 프로그램의 목적, 키워드, Identification(ID) Code 등 프로그램이 사용할 수 있는 전자 장치(100)의 주변 장치들 등의 정보들을 포함할 수 있고, 상기 정보들은 데이터의 헤더, 프로그램의 정보를 포함하고 있는 데이터 또는 전자 장치(100)에 설치하는 설치 프로그램 패키지가 수행할 수 있는 기능 또는 사용하는 전자 장치(100)의 주변장치 등의 정보를 포함하고 있는 데이터 등에서 획득할 수 있다.
더하여, 전자 장치(100)는 암시적 호출의 객체 검색 정보에 부합하는 프로그램을 획득하는 방법에 있어서, 전자 장치(100)의 통신 시스템(150)을 통해 연결할 수 있는 인터넷 또는 특정 서버(제 2 전자 장치일 수 있다)를 검색 또는 필터링할 수 있다.
동작(805)에서, 전자 장치(100)는 암시적 호출의 객체 검색 정보로 데이터베이스를 겅색 또는 필터링 하여 정보에 부합하는 프로그램의 존재 여부를 결정할 수 있다.
동작(806)에서, 전자 장치(100)는 정보에 부합하는 프로그램이 전자 장치(100)의 메모리에 존재하지 않는 경우, 전자 장치(100)는 암시적 호출에 대응하는 프로그램을 실행할 수 없다(또는 찾을 수 없다)는 등의 결과 메세지(에러 코드 등)를 표시할 수 있다. 전자 장치(100)는 터치 스크린(133)에 표시 또는 음성 출력 등으로 표시 등의 방법으로 결과 메세지를 표시할 수 있다.
더하여 전자 장치(100)는 전자 장치(100)는 암시적 호출에 대응하는 프로그램을 실행할 수 없다(또는 찾을 수 없다)는 등의 결과 메세지(에러 코드)를 표시하는 방법 외에도, 암시적 호출에 대응하는 프로그램을 웹(인터넷 또는 특정 네트워크 서버) 상에서 검색한 결과를 제공할 수 있다.
동작(807)에서, 전자 장치(100)는 805 동작에서 검색 또는 필터링한 결과로 획득한 프로그램이 하나인지, 복수 개인지 결정할 수 있다. 전자 장치(100)는 획득한 프로그램이 하나인 경우 811 동작을 수행할 수 있고, 획득한 프로그램이 복수 개인 경우 809 동작을 수행할 수 있다.
동작(809)에서, 전자 장치(100)는 암시적 호출에 기본 프로그램이 설정되어 있는지 결정할 수 있고, 기본 프로그램이 설정되어 있는 경우, 803 동작에서 획득한 프로그램들에 설정한 기본 프로그램이 포함되어 있는지 여부를 결정할 수 있다. 전자 장치(100)는 암시적 호출에 기본 프로그램이 설정되어 있지 않은 경우, 815 동작을 수행할 수 있고, 기본 프로그램이 설정되어 있는 경우, 811 동작을 수행할 수 있다.
동작(815)에서, 전자 장치(100)는 803 동작에서 데이터베이스를 검색 또는 필터링하여 획득한, 프로그램들 목록을 전자 장치(100)의 터치 스크린(133), 제 2 표시부를 통해 표시할 수 있고 또는 스피커(141)를 통해 음성 출력 등으로 표시할 수 있다.
동작(817)에서, 전자 장치(100)는 815 동작에서 표시하는 프로그램들 목록에서 하나의 프로그램을 선택할 수 있고, 선택한 프로그램을 기본 프로그램으로 설정할 것인지, 기본 프로그램으로 설정하지 않고 실행할 것인지 여부를 입력하는 메뉴를 제공할 수 있다. 전자 장치(100)는 선택한 하나의 프로그램을 기본 프로그램으로 설정하도록 입력하는 경우 819 동작을 수행할 수 있고, 선택한 하나의 프로그램을 기본 프로그램으로 설정하지 않고 실행하도록 입력하는 경우 811 동작을 수행할 수 있다.
동작(811)에서, 전자 장치(100)는 선택한 프로그램을 실행할 수 있다. 817 동작에서 선택한 프로그램을 기본 프로그램으로 설정하지 않는 경우, 전자 장치(100)는 다음 상기 801의 암시적 호출을 발생하는 경우에도, 809 동작에서 암시적 호출에 정해진 기본 프로그램이 없을 수 있고, 815 동작을 수행할 수 있다.
동작(809)에서, 암시적 호출에 기본 프로그램이 설정되어 있고, 검색 또는 필터링한 프로그램들에 상기 기본 프로그램을 포함하고 있는 경우, 전자 장치(100)는 815 동작에서 필터링한 프로그램을 표시하지 않고 기본 프로그램에 대응하는 프로그램을 실행할 수 있다. 암시적 호출에 기본 프로그램이 설정되어 있는 경우, 상기 암시적 호출은 대상 프로그램이 명확할 수 있고, 명시적 호출인 것처럼 동작할 수 있다. 전자 장치(100)는, 809 동작에서 815 동작을 진행하지 않을 수 있고, 811 동작을 진행할 수 있고, 설정된 기본 프로그램을 실행할 수 있다.
동작(813)에서, 전자 장치(100)는 811 동작에서 선택한 프로그램이 동작하고 있는 상태에서 상기 803 단계에서 검색 또는 필터링의 결과로 획득한 프로그램들 목록 또는 상기 목록이 있음을 알리는 인터페이스를 표시할 수 있다. 프로그램들 목록은 알림 바에 프로그램들 목록을 확인할 수 있다는 알림 등을 터치 또는 드래그하는 방법 등의 기준 동작을 통해 알림 바, 알림 창 또는 음성 출력 등으로 표시할 수 있다. 전자 장치(100)는, 상기 목록이나 상기 인터페이스를 통해서 선택하는 프로그램을 실행할 수 있다. 전자 장치(100)는 선택한 프로그램에 상기 암시적 호출에 대한 정보(암시적 호출을 발생시킨 방법, 상기 실행한 프로그램에 전달해야 하는 정보)를 전달받을 수 있다.
전자 장치(100)는 813 동작을 종료하면 도 8a의 동작들을 종료할 수 있다.
도 8b를 참조하면, 전자 장치(100)는 암시적 호출을 발생할 수 있고, 암시적 호출의 객체 검색 정보에 부합하는 프로그램들을 전자 장치(100)의 데이터베이스에서 필터링할 수 있고, 필터링한 프로그램들 목록을 전자 장치(100)에 표시할 수 있고, 하나의 제 1 프로그램을 선택하여 실행할 수 있고, 선택한 제 1 프로그램을 상기 암시적 호출의 기본 프로그램으로 정할 수 있고, 상기 실행하는 제 1 프로그램에 대한 정보를 저장할 수 있고, 필터링한 프로그램들이 미리 정한 조건을 만족하는지 결정할 수 있고, 상기 실행하는 제 1 프로그램에서 기준 동작을 통해 상기 필터링한 프로그램들을 표시할 수 있다.
동작(821)에서, 전자 장치(100)는 전자 장치(100)의 터치 스크린(133)에 표시하고 있는, 전자 장치(100)의 메모리(110)에 저장하고 있는 프로그램을 실행할 수 있는 호출 등을 포함하는 아이콘 등의 UI 객체 등을 선택할 수 있다. 선택한 UI 객체 등이 포함하는 호출이 암시적 호출인 경우, 암시적 호출은 명령어 등에 실행하는 명확한 대상 프로그램을 포함하지 않을 수 있다. 암시적 호출은 실행하고자 하는 프로그램의 특징에 대한 정보들을 포함할 수 있고, 이 정보들로 하나 또는 복수 개의 실행 가능한 프로그램들을 결정할 수 있다. 상기 정보들은 프로그램의 기능, 프로그램의 목적, 키워드, Identification(ID) Code 등 프로그램이 사용할 수 있는 전자 장치(100)의 주변 장치들 등의 정보들로 구성할 수 있다.
동작(823)에서, 전자 장치(100)는 암시적 호출의 객체 검색 정보에 부합하는 프로그램들을 전자 장치(100)의 데이터베이스에서 검색 또는 필터링할 수 있다. 전자 장치(100)의 데이터베이스는 전자 장치(100)의 메모리에 설치 또는 저장하고있는 프로그램들에 대한 프로그램의 기능, 프로그램의 목적, 키워드, Identification(ID) Code 등 프로그램이 사용할 수 있는 전자 장치(100)의 주변 장치들 등의 정보들을 포함할 수 있고, 상기 정보들은 데이터의 헤더, 프로그램의 정보를 포함하고 있는 데이터 또는 전자 장치(100)에 설치하는 설치 프로그램 패키지가 수행할 수 있는 기능 또는 사용하는 전자 장치(100)의 주변장치 등의 정보를 포함하고 있는 데이터 등에서 획득할 수 있다.
더하여, 전자 장치(100)는 암시적 호출의 객체 검색 정보에 부합하는 프로그램을 획득하는 방법에 있어서, 전자 장치(100)의 통신 시스템(150)을 통해 연결할 수 있는 인터넷 또는 특정 서버(제 2 전자 장치일 수 있다)를 검색 또는 필터링할 수 있다.
동작(825)에서, 전자 장치(100)는 암시적 호출의 객체 검색 정보로 데이터베이스를 겅색 또는 필터링 하여 정보에 부합하는 프로그램의 존재 여부를 결정할 수 있다.
동작(826)에서, 전자 장치(100)는 정보에 부합하는 프로그램이 전자 장치(100)의 메모리에 존재하지 않는 경우, 전자 장치(100)는 암시적 호출에 대응하는 프로그램을 실행할 수 있다(또는 찾을 수 없다) 또는 암시적 호출에 대응하는 프로그램을 웹(인터넷 또는 특정 네트워크 서버) 상에서 검색한 결과(메시지 또는 에러 코드 등)를 표시할 수 있다. 전자 장치(100)는 터치 스크린(133)에 표시 또는 음성 출력 등으로 표시 등의 방법으로 결과 메세지를 표시할 수 있다.
동작(827)에서, 전자 장치(100)는 825 동작에서 검색 또는 필터링한 결과로 획득한 프로그램이 하나인지, 복수 개인지 결정할 수 있다. 전자 장치(100)는 획득한 프로그램이 하나인 경우 831 동작을 수행할 수 있고, 획득한 프로그램이 복수 개인 경우 829 동작을 수행할 수 있다.
동작(829)에서, 전자 장치(100)는 암시적 호출에 기본 프로그램이 설정되어 있는지 결정할 수 있고, 기본 프로그램이 설정되어 있는 경우, 823 동작에서 획득한 프로그램들에 설정한 기본 프로그램이 포함되어 있는지 여부를 결정할 수 있다. 전자 장치(100)는 암시적 호출에 기본 프로그램이 설정되어 있지 않은 경우, 835 동작을 수행할 수 있고, 기본 프로그램이 설정되어 있는 경우, 831 동작을 수행할 수 있다.
동작(835)에서, 전자 장치(100)는 823 동작에서 데이터베이스를 검색 또는 필터링하여 획득한, 프로그램들 목록을 전자 장치(100)의 터치 스크린(133), 제 2 표시부를 통해 표시할 수 있고 또는 스피커(141)를 통해 음성 출력 등으로 표시할 수 있다.
동작(837)에서, 전자 장치(100)는 835 동작에서 표시하는 프로그램들 목록에서 하나의 프로그램을 선택할 수 있고, 선택한 프로그램을 기본 프로그램으로 설정할 것인지, 기본 프로그램으로 설정하지 않고 실행할 것인지 여부를 입력하는 메뉴를 제공할 수 있다. 전자 장치(100)는 선택한 하나의 프로그램을 기본 프로그램으로 설정하도록 입력하는 경우 839 동작을 수행할 수 있고, 선택한 하나의 프로그램을 기본 프로그램으로 설정하지 않고 실행하도록 입력하는 경우 831 동작을 수행할 수 있다.
동작(839)에서, 전자 장치(100)는 837 동작의 결정에 따라서, 선택한 프로그램을 821 동작에서의 암시적 호출에 대한 기본 프로그램으로 설정할 수 있다. 전자 장치(100)는 상기 설정에 대한 정보를 메모리(110)에 저장할 수 있다. 상기 설정에 대한 정보들은 821 동작에서 선택한 암시적 호출, 823 동작에서 필터링한 프로그램들 목록, 상기 선택한 프로그램이 기본 프로그램으로 결정된 적이 있다면 횟수, 상기 선택한 프로그램이 다른 암시적 호출의 기본 프로그램으로 설정된 적이 있다면 상기 다른 암시적 호출 또는 상기 프로그램을 기본 프로그램으로 결정한 날짜 및 시각 등일 수 있다.
동작(831)에서, 전자 장치(100)는 선택한 프로그램을 실행할 수 있다. 837 동작에서 선택한 프로그램을 기본 프로그램으로 설정하지 않는 경우, 전자 장치(100)는 다음 상기 821의 암시적 호출을 발생하는 경우에도, 829 동작에서 암시적 호출에 정해진 기본 프로그램이 없을 수 있고, 835 동작을 수행할 수 있다.
동작(833)에서, 전자 장치(100)는 829 동작의 결과에 따라서 암시적 호출에 대한 기본 프로그램을 실행한 결과 또는 정보들을 메모리(110)에 저장할 수 있다. 상기 결과 또는 정보들은 821 동작에서 선택한 암시적 호출, 823 동작에서 필터링한 프로그램들 목록, 상기 프로그램이 최근(일주일 또는 한 달 내)에 실행된 횟수, 상기 기본 프로그램이 설정한 날짜 및 시각, 상기 기본 프로그램을 설정한 후에 상기 기본 프로그램을 실행하도록 제어하는 암시적 호출을 선택한 횟수, 상기 기본 프로그램이 다른 암시적 호출의 기본 프로그램으로 설정된 적이 있다면 상기 다른 암시적 호출, 상기 프로그램이 명시적 호출로 실행된 횟수 중 하나 또는 그 이상을 포함할 수 있다.
동작(841)에서, 전자 장치(100)는 필터링한 프로그램들에 대해서 메모리(110)에 저장하고 있는 정보 또는 메모리(110)의 데이터베이스에 포함하고 있는 정보에서 전자 장치(100)의 터치 스크린 또는 제 2 표시부에 변경 가능한 프로그램들로 표시할 수 있는 제공 조건을 만족하는지 결정할 수 있다.
전자 장치(100)는 상기 제공 조건으로 필터링한 프로그램들 중에서 최근 미리 정한 기간 내에 실행된 이력이 있는 프로그램, 상기 기본 프로그램을 설정하고 미리 정한 기간의 경과, 필터링한 프로그램들 중에서 이전에 상기 암시적 호출의 기본 프로그램으로 설정한 이력이 있는 프로그램, 필터링한 프로그램들 중에서 다른 암시적 호출의 기본 프로그램으로 설정되어 있는 프로그램, 필터링한 프로그램들 중에서 최근 미리 정한 기간 내에 설치한 프로그램, 필터링한 프로그램들 중에서 인터넷 또는 특정 서버에서의 미리 정한 다운로드 횟수 이상을 만족, 필터링한 프로그램들 중에서 인터넷 또는 특정 서버에서의 미리 정한 평점 이상을 만족, 필터링한 프로그램들 중에서 인터넷 또는 특정 서버에서 프로모션(Promotion) 중인 프로그램 중에서 하나 또는 그 이상으로 정할 수 있다.
동작(843)에서, 전자 장치(100)는 841 동작에서 필터링한 프로그램들 중에서 제공 조건을 만족하는 프로그램을 결정할 수 있고, 해당 프로그램을 표시할 수 있다. 표시하는 해당 프로그램은, 알림 바에 프로그램들 목록을 확인할 수 있다는 텍스트 또는 아이콘 등을 터치 또는 드래그, 버튼을 클릭하는 방법 등의 제스처 또는 모션을 통해 알림 바, 알림 창 또는 음성 출력 등으로 표시할 수 있다.
전자 장치(100)는 843 동작을 종료하면 도 8b의 동작들을 종료할 수 있다.
도 9는 본 개시의 다양한 실시 예에 따른 전자 장치에서, 프로그램 동작의 흐름을 도시한다.도 9를 참조하면, 전자 장치(100)는 암시적 호출의 객체 검색 정보를 획득할 수 있고, 암시적 호출의 객체 검색 정보에 대응하는 프로그램들을 데이터베이스에서 획득할 수 있고, 획득한 프로그램들을 전자 장치(100)에 표시할 수 있고, 표시한 프로그램들에서 프로그램을 선택하여 실행할 수 있고, 선택한 프로그램의 동작을 표시하는 화면에 데이터베이스에서 획득한 프로그램들을 표시할 수 있다.
동작(901)에서, 전자 장치(100)는 터치 스크린(133)에 표시하고 있는 아이콘 등의 UI 객체 등을 선택함으로써 호출을 발생할 수 있다.
호출은 명령어 등에 실행하는 명확한 대상을 포함할 수 있는 명시적 호출 또는 실행하는 대상이 명확하지 않고 대상의 조건들을 포함할 수 있는 암시적 호출일 수 있다.
암시적 호출이 포함하는 대상의 조건은 프로그램의 기능, 프로그램의 목적, 키워드, Identification(ID) Code 등 프로그램이 사용할 수 있는 전자 장치(100)의 주변 장치들 등의 정보들로 프로그램의 특징 등일 수 있다.
전자 장치(100)는 실행한 암시적 호출에서 획득한 정보로 전자 장치(100)의 메모리(110) 저장하고 있는 프로그램들과 비교할 수 있고, 정보들에 부합하는 프로그램들의 목록을 획득할 수 있다.
전자 장치(100)는 901 동작에서 획득한 정보를 통해 전자 장치(100)의 메모리에 저장하고 있는 프로그램들을 검색 또는 필터링할 수 있다. 전자 장치(100)는 메모리(110)에 프로그램들의 정보 등을 데이터베이스로 구축할 수 있고, 전자 장치(100)는 암시적 호출에서 획득한 검색 정보(또는, 검색 조건의 명령어 또는 코드일 수 있다)상기 정보로 데이터베이스를 검색 또는 필터링 하여 정보에 부합하는 프로그램들 목록을 획득할 수 있다.
동작(903)에서, 전자 장치(100)는 획득한 프로그램들 목록을 전자 장치(100)의 터치 스크린(133)에 표시할 수 있고, 스피커(141)에 음성 출력 등으로 표시할 수 있다. 전자 장치(100)는 터치 스크린(133)에 표시하는 경우, 획득한 프로그램들에 포함되는 각각의 프로그램을 실행할 수 있는 명령어 등을 포함할 수 있는 아이콘 또는 링크 등의 UI 객체를 구성하여 표시할 수 있다.
예컨대, 전자 장치(100)는 암시적 호출의 객체 검색 정보로 획득한 프로그램들의 목록을 도 4a의 411과 같이 스피커(141)를 통해 음성으로 출력할 수 있다.
다른 예로, 전자 장치(100)는 암시적 호출의 객체 검색 정보에 대응하는 프로그램을 획득했다는 것을 412와 같이 알림 바를 통해 아이콘으로 표시할 수 있다. 전자 장치(100)는 알림 바를 터치, 드래그하는 등의 동작을 통해 아이콘(412)에 대응하는 목록을 확인할 수 있다. 알림 바를 터치, 드래그하는 동작을 통해 확인할 수 있는 아이콘(412)에 대응하는 목록은 도 6과 같이 표시할 수 있다. 전자 장치(100)는 암시적 호출에 기본 프로그램이 설정되어 있는 경우 903 동작을 생략할 수 있다.
동작(905)에서, 전자 장치(100)는 전자 장치(100)의 마이크(142)를 통해 실행하려는 프로그램의 실행 코드를 음성 또는 소리 신호로 입력함으로써 대응하는 프로그램을 실행하거나 전자 장치(100)로 제스처 등을 수행함으로써 대응하는 프로그램을 실행할 수 있다. 또한 전자 장치(100)는 암시적 호출에 기본 프로그램이 설정되어 있는 경우 설정된 기본 프로그램을 실행할 수 있다.
동작(907)에서, 전자 장치(100)는 905 동작에서 선택한 프로그램의 UI 동작을 표시하고 있는 터치 스크린(133) 등에 903 동작에서 획득한 프로그램들 목록(실행하고 있는 프로그램은 제외할 수 있다)에 대응하는 UI 객체 등을 표시할 수 있다. 전자 장치(100)는 905 동작에서 선택한 프로그램이 901 동작에서 실행한 암시적 호출의 기본 프로그램으로 설정되어 있지 않은 경우, 기본프로그램으로 설정할지 여부를 선택할 수 있는 메뉴를 상기 UI 객체 등을 표시하는 화면에 표시할 수 있다.
더하여, 전자 장치(100)는 데이터베이스에서 실행하고 있는 프로그램과 연관된 연관 프로그램들 목록을 획득할 수 있고, 905 동작에서 선택한 프로그램의 UI 동작을 표시하고 있는 터치 스크린(133) 등에 관련 프로그램들 목록에 대응하는 UI 객체 등을 표시할 수 있다.
전자 장치(100)는 동작하고 있는 프로그램에 표시하는 상기 UI 객체들을 기준 동작을 입력함으로써 표시 해제할 수 있다.
본 개시의 청구항 또는 명세서에 기재된 다양한 실시 예들에 따른 방법들은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(100) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다. 하나 이상의 프로그램은, 전자 장치(100)로 하여금, 본 개시의 청구항 또는 명세서에 기재된 다양한 실시 예들에 따른 방법들을 실행하게 하는 명령어를 포함할 수 있다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM, Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM, Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM, Compact Disc-ROM), 디지털 다목적 디스크(DVDs, Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 전자 장치(100)에 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN) 또는 SAN(Storage Area Network)과 같은 통신 네트워크 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근할 수 있는 부착 가능한 저장 장치에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 전자 장치(100)에 접속할 수 있다.
또한, 통신 네트워크상의 별도의 저장장치가 휴대용 전자 장치(100)에 접속할 수도 있다.
한편, 본 개시의 상세한 설명에서 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
Claims (20)
- 전자 장치의 동작 방법에 있어서,
음성 명령을 수신하는 동작;
상기 음성 명령에 대응하는 적어도 하나의 프로그램을 포함하는 목록을 제공하는 동작;
상기 제공된 목록 중에서 하나의 프로그램을 선택하는 사용자의 제1 입력을 수신하는 동작; 및
상기 수신한 제1 입력에 응답하여, 상기 선택된 프로그램에 의한 화면 및 상기 제공된 목록이 나타나도록 하는 알림을 함께 표시하는 동작을 포함하는 방법.
- 제 1 항에 있어서,
상기 알림에 대한 사용자의 제2 입력을 수신하는 동작; 및
상기 수신한 제2 입력에 응답하여, 상기 적어도 하나의 프로그램을 포함하는 목록을 표시하는 동작을 더 포함하는 방법;
- 제 1 항에 있어서,
상기 적어도 하나의 프로그램을 포함하는 목록을 제공하는 동작은,
데이터베이스의 프로그램 중에서 상기 음성 명령에 해당하는 데이터를 기초로 필터링하여 상기 적어도 하나의 프로그램을 포함하는 목록을 획득하는 동작을 포함하는, 방법.
- 제 1 항에 있어서,
상기 목록을 제공하는 동작은,
상기 목록을 스피커를 통해 음성 출력으로 제공하는 동작을 포함하는, 방법.
- 제 1 항에 있어서,
상기 목록을 제공하는 동작은,
상기 목록을 팝업 창에 표시하는 동작을 포함하는, 방법.
- 제 5 항에 있어서,
상기 목록을 제공하는 동작은,
상기 적어도 하나의 프로그램의 identification(ID)을 포함하는 아이콘 또는 링크를 표시하는 동작을 포함하는 방법.
- 제 2 항에 있어서,
상기 알림은,
알림바에 아이콘 또는 텍스트(text)로 표시되는 방법.
- 제 7 항에 있어서,
상기 알림에 대한 사용자의 제2 입력은, 상기 아이콘 또는 텍스트를 터치 또는 드래그하는 동작을 포함하는, 방법.
- 제 1항에 있어서,
상기 선택된 하나의 프로그램을 상기 음성 명령에 대응하는 기본 프로그램으로 설정할 수 있는 메뉴를 표시하는 동작을 더 포함하는 방법.
- 전자 장치로서,
오디오 처리부;
표시부;
입력장치;
복수의 프로그램이 저장된 메모리; 및
프로세서를 포함하고,
상기 프로세서는,
상기 오디오 처리부를 통해 음성 명령을 수신하고,
상기 음성 명령에 대응하는 적어도 하나의 프로그램을 포함하는 목록을 제공하고,
상기 입력장치 또는 상기 오디오 처리부를 통해 상기 제공된 목록 중에서 하나의 프로그램을 선택하는 사용자의 제1 입력을 수신하고,
상기 수신한 제1 입력에 응답하여 상기 선택된 프로그램에 의한 화면 및 상기 제공된 목록이 나타나도록 하는 알림을 함께 상기 표시부에 표시하는, 전자 장치.
- 제 10 항에 있어서,
상기 프로세서는,
상기 입력장치를 통해 상기 알림에 대한 사용자의 제2 입력을 수신하고,
상기 수신한 제2 입력에 응답하여, 상기 적어도 하나의 프로그램을 포함하는 목록을 상기 표시부에 표시하는, 전자 장치.
- 제 10 항에 있어서,
상기 프로세서는,
상기 메모리에 저장된 복수의 프로그램 중에서 상기 음성 명령에 해당하는 데이터를 기초로 필터링하여 상기 적어도 하나의 프로그램을 포함하는 목록을 획득하는 전자 장치.
- 제 10 항에 있어서,
상기 프로세서는,
상기 목록을 상기 오디오 처리부의 스피커를 통해 음성 출력으로 제공하는, 전자 장치.
- 제 10 항에 있어서,
상기 프로세서는,
상기 목록을 상기 표시부에 팝업 창으로 표시하는, 전자 장치.
- 제 14 항에 있어서,
상기 프로세서는,
상기 팝업 창에 상기 적어도 하나의 프로그램의 ID(identification)을 포함하는 아이콘 또는 링크를 표시하는, 전자 장치.
- 제 11항에 있어서,
상기 프로세서는,
상기 알림을 상기 표시부의 알림바에 아이콘 또는 텍스트(text)로 표시하는, 전자 장치.
- 제 16 항에 있어서,
상기 프로세서는,
상기 아이콘 또는 텍스트에 대한 사용자의 터치 또는 드래그 동작에 기초하여 상기 제2 입력을 수신하는, 전자 장치.
- 제 10 항에 있어서,
상기 프로세서는,
상기 선택된 하나의 프로그램을 상기 음성 명령에 대응하는 기본 프로그램으로 설정할 수 있는 메뉴를 표시하는, 전자 장치.
- 컴퓨터 판독가능 저장매체로서, 프로세서에 의해 실행될 때,
음성 명령을 수신하는 동작;
상기 음성 명령에 대응하는 적어도 하나의 프로그램을 포함하는 목록을 제공하는 동작;
상기 제공된 목록 중에서 하나의 프로그램을 선택하는 사용자의 제1 입력을 수신하는 동작; 및
상기 수신한 제1 입력에 응답하여, 상기 선택된 프로그램에 의한 화면 및 상기 제공된 목록이 나타나도록 하는 알림을 함께 표시하는 동작을 수행하도록하는 명령이 저장된 컴퓨터 판독가능 저장매체.
- 제 19항에 있어서,
상기 프로세서가
상기 알림에 대한 사용자의 제2 입력을 수신하는 동작; 및
상기 수신한 제2 입력에 응답하여, 상기 적어도 하나의 프로그램을 포함하는 목록을 표시하는 동작을 더 수행하도록 하는 명령이 저장된 컴퓨터 판독가능 저장매체.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130064926A KR102069322B1 (ko) | 2013-06-05 | 2013-06-05 | 프로그램 실행 방법 및 그 전자 장치 |
EP14171149.9A EP2811400B1 (en) | 2013-06-05 | 2014-06-04 | Method for executing program and electronic device thereof |
US14/297,519 US10007396B2 (en) | 2013-06-05 | 2014-06-05 | Method for executing program and electronic device thereof |
US15/991,202 US20180275840A1 (en) | 2013-06-05 | 2018-05-29 | Method for executing program and electronic device thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130064926A KR102069322B1 (ko) | 2013-06-05 | 2013-06-05 | 프로그램 실행 방법 및 그 전자 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140143028A KR20140143028A (ko) | 2014-12-15 |
KR102069322B1 true KR102069322B1 (ko) | 2020-02-11 |
Family
ID=51133805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130064926A KR102069322B1 (ko) | 2013-06-05 | 2013-06-05 | 프로그램 실행 방법 및 그 전자 장치 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10007396B2 (ko) |
EP (1) | EP2811400B1 (ko) |
KR (1) | KR102069322B1 (ko) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU349920S (en) * | 2013-01-05 | 2013-07-29 | Samsung Electronics Co Ltd | Display screen for an electronic device |
USD758439S1 (en) * | 2013-02-23 | 2016-06-07 | Samsung Electronics Co., Ltd. | Display screen or portion thereof with icon |
USD745542S1 (en) * | 2013-03-13 | 2015-12-15 | Samsung Electronics Co., Ltd. | Display screen or a portion thereof with a graphical user interface |
USD739873S1 (en) * | 2013-06-10 | 2015-09-29 | Huawei Technologies Co., Ltd. | Display screen with icon |
USD738910S1 (en) * | 2014-03-19 | 2015-09-15 | Wargaming.Net Llp | Display screen with animated graphical user interface |
KR102206387B1 (ko) * | 2014-12-08 | 2021-01-22 | 엘지전자 주식회사 | 이동 단말기 및 그것의 제어방법 |
USD820861S1 (en) * | 2015-11-30 | 2018-06-19 | Uber Technologies, Inc. | Display screen with graphical user interface for enabling color selection |
US10585648B2 (en) * | 2016-06-01 | 2020-03-10 | The Mathworks, Inc. | Systems and methods for aggregating implicit and explicit event code of executable models |
USD826967S1 (en) | 2016-06-07 | 2018-08-28 | Beijing Kingsoft Internet Security Software Co., Ltd. | Mobile communication terminal with animated graphical user interface |
USD818480S1 (en) * | 2016-09-01 | 2018-05-22 | Bidtourz, Inc. | Display screen or portion thereof with graphical user interface for tour bidding services |
KR102656911B1 (ko) * | 2016-09-26 | 2024-04-16 | 삼성전자주식회사 | 웨어러블 장치 및 이의 위젯 제공 방법 |
KR102387164B1 (ko) * | 2017-03-28 | 2022-04-18 | 삼성전자주식회사 | 전자 장치 및 그의 오디오 경로 제어 방법 |
US10831883B1 (en) * | 2018-03-16 | 2020-11-10 | NortonLifeLock Inc. | Preventing application installation using system-level messages |
US11347376B2 (en) * | 2018-10-09 | 2022-05-31 | Google Llc | Dynamic list composition based on modality of multimodal client device |
CN110908755A (zh) * | 2019-11-07 | 2020-03-24 | 维沃移动通信有限公司 | 一种内容屏蔽方法及电子设备 |
US20230418624A1 (en) * | 2022-06-24 | 2023-12-28 | Microsoft Technology Licensing, Llc | File opening optimization |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294063A1 (en) | 2005-06-23 | 2006-12-28 | Microsoft Corporation | Application launching via indexed data |
JP2013084261A (ja) | 2011-09-28 | 2013-05-09 | Kyocera Corp | 装置、方法、及びプログラム |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100735375B1 (ko) * | 2005-08-25 | 2007-07-04 | 삼성전자주식회사 | 이동통신단말기에서 어플리케이션 구동 방법 및 그이동통신단말기 |
KR101192988B1 (ko) | 2006-03-23 | 2012-10-22 | 삼성전자주식회사 | 이동 단말기에서 사용자 인터페이스 제공 장치 및 방법 |
TW200744357A (en) * | 2006-05-22 | 2007-12-01 | Chien-Chiang Peng | Fast opening system for application function |
US20090254900A1 (en) * | 2006-07-13 | 2009-10-08 | Seiko Epson Corporation | Network system, computers, and method and program for providing and executing applications in network system |
EP2071445A4 (en) * | 2006-09-29 | 2010-05-12 | Nec Corp | MOBILE TERMINAL WITH MULTITASK FUNCTION AND TASKSYMBOL DISPLAY METHOD |
KR20090058131A (ko) | 2007-12-04 | 2009-06-09 | 주식회사 엘지텔레콤 | 이동 통신 단말기의 대기 화면을 이용하여 코디네이션서비스를 제공하는 방법 및 그 시스템 |
KR101548958B1 (ko) * | 2008-09-18 | 2015-09-01 | 삼성전자주식회사 | 휴대단말기의 터치스크린 동작 제어 방법 및 장치 |
KR101528266B1 (ko) * | 2009-01-05 | 2015-06-11 | 삼성전자 주식회사 | 휴대 단말기 및 그의 응용프로그램 제공 방법 |
US8413052B2 (en) | 2010-02-17 | 2013-04-02 | Yahoo! Inc. | Bidded marketplace for applications |
KR101651134B1 (ko) * | 2010-06-24 | 2016-08-29 | 엘지전자 주식회사 | 이동 단말기 및 이것의 그룹 동작 제어 방법 |
EP3734404A1 (en) * | 2011-02-10 | 2020-11-04 | Samsung Electronics Co., Ltd. | Portable device comprising a touch-screen display, and method for controlling same |
US9489457B2 (en) * | 2011-07-14 | 2016-11-08 | Nuance Communications, Inc. | Methods and apparatus for initiating an action |
KR101262700B1 (ko) * | 2011-08-05 | 2013-05-08 | 삼성전자주식회사 | 음성 인식 및 모션 인식을 이용하는 전자 장치의 제어 방법 및 이를 적용한 전자 장치 |
KR101745002B1 (ko) * | 2011-09-20 | 2017-06-20 | 현대자동차주식회사 | 복수의 애플리케이션 표시 장치 및 그 방법 |
US20130159234A1 (en) * | 2011-12-19 | 2013-06-20 | Bo Xing | Context activity tracking for recommending activities through mobile electronic terminals |
CN104106034B (zh) * | 2011-12-21 | 2018-01-09 | 诺基亚技术有限公司 | 用于将应用事件与电子设备的联系人对照的装置和方法 |
US20130283274A1 (en) * | 2012-03-29 | 2013-10-24 | David MIMRAN | Method and system for discovering and activating an application in a computer device |
US8589911B1 (en) * | 2012-07-26 | 2013-11-19 | Google Inc. | Intent fulfillment |
JP6068901B2 (ja) * | 2012-09-26 | 2017-01-25 | 京セラ株式会社 | 情報端末、音声操作プログラムおよび音声操作方法 |
US20140189572A1 (en) * | 2012-12-31 | 2014-07-03 | Motorola Mobility Llc | Ranking and Display of Results from Applications and Services with Integrated Feedback |
US10228819B2 (en) * | 2013-02-04 | 2019-03-12 | 602531 British Cilumbia Ltd. | Method, system, and apparatus for executing an action related to user selection |
US20140223112A1 (en) * | 2013-02-05 | 2014-08-07 | CAA South Central Ontario | System and method for managing data elements |
-
2013
- 2013-06-05 KR KR1020130064926A patent/KR102069322B1/ko active IP Right Grant
-
2014
- 2014-06-04 EP EP14171149.9A patent/EP2811400B1/en active Active
- 2014-06-05 US US14/297,519 patent/US10007396B2/en active Active
-
2018
- 2018-05-29 US US15/991,202 patent/US20180275840A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294063A1 (en) | 2005-06-23 | 2006-12-28 | Microsoft Corporation | Application launching via indexed data |
JP2013084261A (ja) | 2011-09-28 | 2013-05-09 | Kyocera Corp | 装置、方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP2811400A1 (en) | 2014-12-10 |
US20140365970A1 (en) | 2014-12-11 |
US10007396B2 (en) | 2018-06-26 |
KR20140143028A (ko) | 2014-12-15 |
US20180275840A1 (en) | 2018-09-27 |
EP2811400B1 (en) | 2019-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102069322B1 (ko) | 프로그램 실행 방법 및 그 전자 장치 | |
CN107209781B (zh) | 使用自然语言的上下文搜索 | |
US11221819B2 (en) | Extendable architecture for augmented reality system | |
CN107112015B (zh) | 发现第三方启用语音的资源的能力 | |
RU2699587C2 (ru) | Обновление моделей классификаторов понимания языка на основе краудсорсинга | |
US10739958B2 (en) | Method and device for executing application using icon associated with application metadata | |
US8464180B1 (en) | Organizing graphical representations on computing devices | |
US9398142B2 (en) | Mobile computing terminal with more than one lock screen and method of using the same | |
KR102281172B1 (ko) | 메타데이터 기반 사진 및/또는 비디오 애니메이션화 | |
EP2631789A1 (en) | Apparatus and method for grouping application program folders in electronic device | |
US20150169183A1 (en) | Method for controlling a composition of a home screen and electronic device thereof | |
KR102255764B1 (ko) | 미디어 아이템 부착 시스템 | |
US20160179899A1 (en) | Method of providing content and electronic apparatus performing the method | |
WO2015094359A1 (en) | Customized contextual user interface information displays | |
EP2634682A2 (en) | Apparatus and method for creating a shortcut menu | |
US20130268396A1 (en) | Method and system for providing personalized application recommendations | |
CN107301052A (zh) | 一种帮助信息的显示方法和移动终端 | |
KR20140106887A (ko) | 프로그램 표시 방법 및 그 전자 장치 | |
KR20190138436A (ko) | 입력기를 통해 이미지와 관련된 정보를 어플리케이션에 제공하는 전자 장치 및 방법 | |
TW201626264A (zh) | 使用應用程式自服務提供伺服器接收服務的裝置及方法 | |
CN108427549B (zh) | 通知消息的声音处理方法、装置、存储介质及终端 | |
KR20180061930A (ko) | 텍스트 입력 방법 및 이를 지원하는 전자 장치 | |
KR102186455B1 (ko) | 사용자 맞춤 기능 추천 방법 및 이를 실행하기 위한 모바일 디바이스 | |
US10162898B2 (en) | Method and apparatus for searching | |
CN111557089A (zh) | 用于使能上下文交互的方法和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |