KR101209951B1 - 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치 및 방법 - Google Patents

안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치 및 방법 Download PDF

Info

Publication number
KR101209951B1
KR101209951B1 KR1020110055987A KR20110055987A KR101209951B1 KR 101209951 B1 KR101209951 B1 KR 101209951B1 KR 1020110055987 A KR1020110055987 A KR 1020110055987A KR 20110055987 A KR20110055987 A KR 20110055987A KR 101209951 B1 KR101209951 B1 KR 101209951B1
Authority
KR
South Korea
Prior art keywords
application
android
execution request
advertisement content
application execution
Prior art date
Application number
KR1020110055987A
Other languages
English (en)
Inventor
김승학
Original Assignee
주식회사 캐스트이즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 캐스트이즈 filed Critical 주식회사 캐스트이즈
Priority to KR1020110055987A priority Critical patent/KR101209951B1/ko
Priority to PCT/KR2011/007513 priority patent/WO2012169702A1/ko
Priority to US14/125,090 priority patent/US20140304717A1/en
Application granted granted Critical
Publication of KR101209951B1 publication Critical patent/KR101209951B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 안드로이드 플랫폼에서 어플리케이션 실행 요청이 발생할 경우 실행이 요청된 어플리케이션에 대한 연계 작업을 어플리케이션 실행 전에 수행하는 장치 및 방법에 관한 것으로, 안드로이드 단말 공급자는 사용자가 안드로이드 어플리케이션을 실행할 수 있는 환경을 제공함과 동시에 어플리케이션 실행 전에 각 어플리케이션과 연계된 작업을 별도로 수행할 수 있도록 해준다.

Description

안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치 및 방법 {Apparatus and Method for Conducting Related Operations upon Occurrence of an Android Application Launch Request Prior to the Launch of the Application}
안드로이드는 운영체제 및 미들웨어 그리고 핵심 어플리케이션으로 구성된 휴대 단말용 소프트웨어 스택이다. 안드로이드 플랫폼에서 동작하는 안드로이드 어플리케이션은 자바 프로그래밍 랭귀지를 통해 개발할 수 있다. 안드로이드는 주로 이동통신 단말기에 사용되고 있으나 최근에는 TV와 셋탑박스 등 기타 다른 종류의 장비로 그 사용이 확대되고 있다.
안드로이드 어플리케이션의 실행 요청은 이용자 클릭을 통해 발생한다. 이용자 클릭 이벤트는 안드로이드 플랫폼의 Launcher를 통해 Activity Manager Service로 전달되고 Activity Manager Service는 새로 실행해야 하는 어플리케이션의 경우 Zygote로 해당 어플리케이션에 대한 새로운 프로세스의 생성을 요청한다. Zygote는 어플리케이션 실행 속도를 단축하기 위해 안드로이드 프레임워크에서 사용되는 주요 클래스와 자원을 메모리에 사전에 로드해 두고 있으며, 이를 fork하여 새로운 프로세스를 생성한다.
안드로이드는 운영체제 및 미들웨어 그리고 핵심 어플리케이션으로 구성된 휴대 단말용 소프트웨어 스택이다. 안드로이드 플랫폼에서 동작하는 안드로이드 어플리케이션은 자바 프로그래밍 랭귀지를 통해 개발할 수 있다. 안드로이드는 주로 이동통신 단말기에 사용되고 있으나 최근에는 TV와 셋탑박스 등 기타 다른 종류의 장비로 그 사용이 확대되고 있다.
대한민국 공개특허 10-2009-0004402는 유저의 ID 및 설정 할인율 데이터를 서버측으로 전송하고, 실행 파일 및 광고 제어인자(제어파일)를 로딩하여 게임을 실행시키고, 광고 제어인자의 제어에 의해 일정시점에 광고파일을 화면과 음성으로 출력하는 유저 단말기와, 게임 콘텐츠 제공서버로 광고 파일을 제공하며 게임 선택 신호를 발생시키는 광고서버와, 유저 ID 인증을 하고, 해당 유저의 프로파일을 관리하고, 해 단말기 내의 게임 콘텐츠와의 신호 교환을 통해 게임 실행 파일을 유저 단말기로 전송하고, 게임 실행 파일의 광고 출력을 제어하고, 게임 실행상태를 모니터링하는 광고 제어인자를 전송하고, 광고 제어인자와의 통신을 통해 조기 설정한 광고 출력 조건에 부합되는지를 판단하고, 유저 단말기로부터 미리 설정된 광고데이터 출력조건에 따라 할인율을 설정하고, 광고 출력 조건 만족시 해당 유저의 프로파일을 통해 차별화된 광고데이터 개수 또는 광고 데이터 게임 콘텐츠 제공서버로 이루어진 게임진행 중 광고 노출을 통한 게임 콘텐츠 할인 제공 시스템을 개시하고 있다.
이 선행 기술은 유저 인증 후, 게임을 실행하고, 광고 출력 조건을 만족할 경우 게임을 일시 중지하고 광고를 출력하며, 이후 게임 진행 조건 만족 후 다시 게임을 진행하는 방법으로, 게임 실행 전에 광고를 출력하지 못한다. 또한 이 선행 기술에 의하면 사용자가 게임을 진행하는 도중에 광고가 출력되어 사용자의 게임 진행이 방해할 가능성도 존재한다. 그러나 본 발명은 안드로이드 어플리케이션 실행 요청이 발생할 경우, 이를 감지하여 어플리케이션을 실행하기 이전에 실행 요청이 된 연계 작업을 수행한다. 즉, 어플리케이션 실행 전에 연계 작업을 수행하고 따라서 어플리케이션 실행을 방해하지 않는다.
대한민국 등록특허 10-0831161은 착신 가입자가 착신호 가로채기 서비스를 홈 위치 등록기에등록하는 단계와, 상기 착신 가입자에게 착신호 도착시 교환기가 착신 가입자와 홈 위치 등록기 제어에 의해서 발신측 통화로 상기 교환기 상기 가로채기 장비 착신 단말기로 통화로를 설정하는 단계와, 상기 가로채기 장비가 안내 방송 제공 및 음성 녹음을 수행하는 단계와, 상기 녹음 중ㅇ인 음성을 실시간으로 청취 중에 상기 착신 가입자의 통화 요청에 따라, 상기 가로채기 장비가 상기 발신 다남ㄹ기와 상기 착신 단말기 사이의 양방향 통화로를 연결하는 단계를 포함하며, 회의나 기타 급한 용무로 전화를 수신할 수 없는 상황에서 긴급하고 중요한 전화만을 선택적으로 수신할 수 있는 착신 호 가로채기 서비스 방법을 개시하고 있다.
이 선행기술은 착신호를 가로챈 후 발신 단말에는 안내방송을 제공하고 착신자에게는 발신자가 녹음하는 음성신호를 제공하고 이후 착신 단말의 요청이 있을 경우 양방향 통화로를 형성한다. 그러나 이 선행 기술은 모든 발신 단말에 대해 동일한 안내 방송을 제공하고 착신 단말에는 음성 신호를 제공하는 기능만 제공하며, 발신 단말이 애초에 시도한 착신호를 그대로 착신 단말로 전달하지 못한다. 즉, 각 발신 단말의 통화 요청에 대해 서로 다른 작업을 수행하지 못하며 또한 애초 발신 단말의 통화 요청을 착신 단말로 그대로 전달하지 못하는 한계를 갖고 있다. 그러나 본 발명은 어플리케이션 실행 요청이 발생할 경우, 연계된 작업을 어플리케이션 실행 전에 수행하고, 애초에 발생한 어플리케이션 실행 요청을 그대로 수행할 수 있다.
즉, 본 발명자는 안드로이드 플랫폼에서 모든 어플리케이션은 Zygote의 fork 프로세스를 통해 실행된다는 점에 착안하여, 사용자가 어플리케이션 실행 요청시 어플리케이션 실행 요청 발생을 감지하고 해당 어플리케이션에 대해 정의된 연계 작업을 Zygote의 fork 프로세스 이전에 수행할 수 있다는 것을 구체적으로 확인함으로써 본 발명을 완성하기에 이르렀다.
본 발명이 해결하고자 하는 과제는 안드로이드 플랫폼에서 어플리케이션 실행 요청이 발생할 경우 실행이 요청된 어플리케이션에 대한 연계 작업을 어플리케이션 실행 전에 수행하는 장치 및 방법을 제공하는 것이다.
따라서 본 발명의 기본적은 목적은 안드로이드 어플리케이션 실행 요청 발생을 감지하는 감지 수단, 안드로이드 어플리케이션 실행 요청을 전송하는 전송 수단, 및 안드로이드 Zygote 프로세스가 fork 프로세스를 수행하기 이전에 실행 요청이 발생한 안드로이드 어플리케이션과 관련된 연계 작업을 사전에 수행하는 연계 작업 수행 수단을 포함하는 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 i) 안드로이드 어플리케이션 실행 요청 발생시 어플리케이션 실행 전에 수행할 사전 연계 작업을 정의하는 단계, ii) 안드로이드 어플리케이션 실행 요청 발생을 감지하는 단계, iii) 안드로이드 어플리케이션 실행 요청을 가로채는 단계, iv) 안드로이드 Zygote 프로세스가 fork 프로세스를 수행하기 이전에 실행 요청이 발생한 안드로이드 어플리케이션과 관련된 연계 작업을 사전에 수행하는 단계, 및 v) 상기 iii) 단계에서 가로챈 안드로이드 어플리케이션 실행 요청을 안드로이드 플랫폼 상의 Launcher, Activity Manager Service, 혹은 Zygote 프로세스 중 적어도 하나로 전송하는 단계로 구성되는 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 방법을 제공하는 것이다.
전술한 본 발명의 기본적인 목적은 안드로이드 어플리케이션 실행 요청 발생을 감지하는 감지 수단, 안드로이드 어플리케이션 실행 요청을 전송하는 전송 수단, 및 안드로이드 Zygote 프로세스가 fork 프로세스를 수행하기 이전에 실행 요청이 발생한 안드로이드 어플리케이션과 관련된 연계 작업을 사전에 수행하는 연계 작업 수행 수단을 포함하는 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치를 제공함으로써 달성될 수 있다.
상기 장치에 있어서, 상기 상기 감지 수단은 사용자의 어플리케이션 클릭 이벤트, 안드로이드 소프트웨어 스택에서 어플케이션 계층의 Launcher가 Binder IPC를 통해 전송하는 startActivity(Intent) 콜, 안드로이드 소프트웨어 스택에서 어플리케이션 프레임워크 계층의 Activity Manager Service가 인보크하는 startProcessLocked() 메쏘드 중 적어도 하나를 통해서 어플리케이션 실행 요청 발생을 감지하고, 감지한 어플리케이션 실행 요청을 상기 전송 수단으로 통지한다.
상기 장치에 있어서, 상기 전송 수단은 상기 감지 수단이 감지한 어플리케이션 실행 요청을 통지 받을 경우, 통지 받은 어플리케이션 실행 요청을 상기 연계 작업 수행 수단으로 전송하고, 상기 연계 작업 수행 수단으로부터 연계 작업 수행 완료를 통지 받을 경우, 상기 감지 수단으로부터 통지 받은 어플리케이션 실행 요청을 Launcher, Activity Manager Service, Zygote 프로세스 중 최소한 하나로 전송한다.
상기 장치에 있어서, 상기 연계 작업 수행 수단은 실행 요청이 발생한 어플리케이션의 AndroidManifest.xml 파일에 포함된 어플리케이션 정보를 기반으로 해당 어플리케이션의 실행 전에 사전에 수행할 연계 작업을 정의하고, 실행 요청이 발생한 어플리케이션에 대해 정의된 연계 작업을 수행하고, 연계 작업의 수행 완료 후 이를 상기 전송 수단으로 통지한다.
본 발명의 또 다른 목적은 i) 안드로이드 어플리케이션 실행 요청 발생시 어플리케이션 실행 전에 수행할 사전 연계 작업을 정의하는 단계, ii) 안드로이드 어플리케이션 실행 요청 발생을 감지하는 단계, iii) 안드로이드 어플리케이션 실행 요청을 가로채는 단계, iv) 안드로이드 Zygote 프로세스가 fork 프로세스를 수행하기 이전에 실행 요청이 발생한 안드로이드 어플리케이션과 관련된 연계 작업을 사전에 수행하는 단계, 및 v) 상기 iii) 단계에서 가로챈 안드로이드 어플리케이션 실행 요청을 안드로이드 플랫폼 상의 Launcher, Activity Manager Service, 혹은 Zygote 프로세스 중 적어도 하나로 전송하는 단계로 구성되는 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 방법을 제공함으로써 달성될 수 있다.
상기 방법에 있어서, 상기 i) 단계에서 안드로이드 어플리케이션의 AndroidManifest.xml 파일에 포함된 어플리케이션 정보를 기반으로 해당 어플리케이션 실행 요청이 발생할 경우 사전에 수행할 연계 작업을 정의한다.
상기 방법에 있어서, 상기 ii) 단계에서 사용자의 어플리케이션 클릭 이벤트, 안드로이드 소프트웨어 스택에서 어플케이션 계층의 Launcher가 Binder IPC를 통해 전송하는 startActivity(Intent) 콜, 안드로이드 소프트웨어 스택에서 어플리케이션 프레임워크 계층의 Activity Manager Service가 인보크하는 startProcessLocked() 메쏘드 중 적어도 하나를 통해서 어플리케이션 실행 요청 발생을 감지한다.
상기 방법에 있어서, 상기 iii) 단계에서 상기 ii) 단계에서 감지한 어플리케이션 실행 요청을 통지 받고, 실행 요청이 발생한 어플리케이션에 대해 상기 i) 단계에서 정의한 연계 작업의 수행을 명령한다.
상기 방법에 있어서, 상기 iv) 단계에서 실행 요청이 발생한 어플리케이션에 대해 상기 i) 단계에서 정의한 연계 작업을 수행하고, 연계 작업 수행 완료를 통지한다.
상기 방법에 있어서, 상기 v) 단계에서 연계 작업 수행 완료를 통지 받을 경우 상기 ii) 단계에서 감지한 어플리케이션 실행 요청을 Launcher, Activity Manager Service, Zygote 프로세스 중 최소한 하나로 전송한다.
전술한 바와 같이 본 발명에 따르면 안드로이드 단말 공급자는 사용자가 안드로이드 어플리케이션을 실행할 수 있는 환경을 제공함과 동시에 어플리케이션 실행 전에 각 어플리케이션과 연계된 작업을 별도로 수행할 수 있다. 특히, 안드로이드 단말 공급자가 무료로 단말을 제공할 경우, 무료 단말에 대한 대가로서 사용자가 단말에서 안드로이드 어플리케이션을 실행하기 전에 수행할 연계 작업을 정의하고 해당 연계 작업을 수행할 수 있을 것이다. 혹은 무료 안드로이드 어플리케이션의 경우, 안드로이드 단말 공급자는 사용자가 해당 단말에서 무료 안드로이드 어플리케이션을 이용하는 대가로 해당 어플리케이션과 관련된 연계 작업을 수행할 수도 있을 것이다. 사용자 입장에서는 안드로이드 단말 공급자가 사전에 정의한 어플리케이션별 연계 작업의 수행을 허용함으로써 무료 단말이나 무료 어플리케이션 이용 가능성을 높일 수 있다.
도 1은 본 발명의 방법에 따른 서비스 구성도이다.
도 2는 본 발명에 따라 안드로이드 어플리케이션 실행 요청 발생시 연계 작업을 사전에 수행하는 예를 설명한 순서도이다.
도 3는 본 발명의 실시 예에 따라 안드로이드 어플리케이션 실행 요청 발생을 사용자 클릭 이벤트를 통해 감지하고 연계 작업을 사전 수행할 경우 신호 흐름을 도시한 도면이다.
도 4는 본 발명의 실시 예에 따라 안드로이드 어플리케이션 실행 요청 발생을 startActivity(Intent) 콜을 통해 감지하고 연계 작업 사전 수행할 경우 신호 흐름을 도시한 도면이다.
도 5는 본 발명의 실시 예에 따라 안드로이드 어플리케이션 실행 요청 발생을 Activity Manager Service가 인보크하는 startProcessLocked() 메쏘드를 통해 감지하고 연계 작업 사전 수행할 경우 신호 흐름을 도시한 도면이다.
이하, 다음의 도면을 참조하여 본 발명을 보다 구체적으로 설명하고자 한다. 그러나 다음의 도면에 대한 설명은 본 발명의 구체적인 실시 태양을 특정하여 설명하고자 한 것을 뿐이며, 본 발명의 권리범위를 이들에 기재된 내용으로 한정하거나 제한 해석하고자 의도하는 것은 아니다.
도 1은 본 발명의 방법에 따라 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업을 사전에 수행하는 서비스의 구성도로 감지부(101), 전송부(102), 및 연계 작업 수행부(103)로 구성된다.
감지부(101)는 사용자의 어플리케이션 클릭 이벤트, 안드로이드 소프트웨어 스택에서 어플케이션 계층의 Launcher가 Binder IPC를 통해 전송하는 startActivity(Intent) 콜, 안드로이드 소프트웨어 스택에서 어플리케이션 프레임워크 계층의 Activity Manager Service가 인보크하는 startProcessLocked() 메쏘드 중 적어도 하나를 통해서 어플리케이션 실행 요청 발생을 감지하고, 감지한 어플리케이션 실행 요청을 전송부(102)로 통지한다.
전송부(102)는 감지부(101)가 감지한 어플리케이션 실행 요청을 통지 받을 경우, 통지 받은 어플리케이션 실행 요청을 연계 작업 수행부(103)으로 전송하고, 연계 작업 수행부(103)으로부터 연계 작업 수행 완료를 통지 받을 경우, 감지부(101)로부터 통지 받은 어플리케이션 실행 요청을 Launcher, Activity Manager Service, Zygote 프로세스 중 최소한 하나로 전송한다.
연계 작업 수행부(103)은 실행 요청이 발생한 어플리케이션의 AndroidManifest.xml 파일에 포함된 어플리케이션 정보를 기반으로 해당 어플리케이션의 실행 전에 사전에 수행할 연계 작업을 정의하고, 실행 요청이 발생한 어플리케이션에 대해 정의된 연계 작업을 수행하고, 연계 작업의 수행 완료 후 이를 전송부(102)로 통지한다.
도 2는 본 발명에 따라 안드로이드 어플리케이션 실행 요청 발생시 연계 작업을 어플리케이션 실행 이전에 수행하는 예를 설명한 순서도이다.
단계 201은 안드로이드 어플리케이션의 AndroidManifest.xml 파일에 포함된 어플리케이션 정보를 기반으로 해당 어플리케이션 실행 요청이 발생할 경우 사전에 수행할 연계 작업을 정의하는 과정이다.
단계 202는 사용자의 어플리케이션 클릭 이벤트, 안드로이드 소프트웨어 스택에서 어플케이션 계층의 Launcher가 Binder IPC를 통해 전송하는 startActivity(Intent) 콜, 안드로이드 소프트웨어 스택에서 어플리케이션 프레임워크 계층의 Activity Manager Service가 인보크하는 startProcessLocked() 메쏘드 중 적어도 하나를 통해서 어플리케이션 실행 요청 발생을 감지하는 과정이다.
단계 203은 상기 단계 202에서 단계에서 감지한 어플리케이션 실행 요청을 통지 받고, 실행 요청이 발생한 어플리케이션에 대해 상기 단계 201에서 정의한 연계 작업의 수행을 명령하는 과정이다.
단계 204는 실행 요청이 발생한 어플리케이션에 대해 상기 단계 201에서 정의한 연계 작업을 수행하고, 연계 작업 수행 완료를 통지한다.
단계 205는 연계 작업 수행 완료를 통지 받을 경우 상기 단계 202에서 감지한 어플리케이션 실행 요청을 Launcher, Activity Manager Service, Zygote 프로세스 중 최소한 하나로 전송한다.
도 3는 본 발명의 실시 예에 따라 안드로이드 어플리케이션 실행 요청 발생을 사용자 클릭 이벤트를 통해 감지하고 연계 작업을 사전 수행할 경우 신호 흐름을 도시한 도면이다.
단계 3.1에서, 감지부(101)는 사용자 클릭 이벤트를 통해 어플리케이션 실행 요청을 감지하고, 감지한 어플리케이션 실행 요청을 전송부(102)로 통지한다.
단계 3.2에서, 전송부(102)는 연계 작업 수행부(103)로 연계 작업 수행을 명령한다.
단계 3.3에서, 연계 작업 수행부(103)는 연계 작업 수행 후 연계 작업 수행의 완료를 통지한다.
단계 3.4에서, 전송부(102)는 감지부(101)가 감지한 어플리케이션 실행 요청을 안드로이드 플랫폼의 Launcher로 전송한다.
도 4는 본 발명의 실시 예에 따라 안드로이드 어플리케이션 실행 요청 발생을 startActivity(Intent) 콜을 통해 감지하고 연계 작업 사전 수행할 경우 신호 흐름을 도시한 도면이다.
단계 4.1에서, 감지부(101)는 startActivity(Intent) 콜을 통해 어플리케이션 실행 요청을 감지하고, 감지한 어플리케이션 실행 요청을 전송부(102)로 통지한다.
단계 4.2에서, 전송부(102)는 연계 작업 수행부(103)로 연계 작업 수행을 명령한다.
단계 4.3에서, 연계 작업 수행부(103)는 연계 작업 수행 후 연계 작업 수행의 완료를 통지한다.
단계 4.4에서, 전송부(102)는 감지부(101)가 감지한 어플리케이션 실행 요청을 안드로이드 플랫폼의 Activity Service Manager로 전송한다.
도 5는 본 발명의 실시 예에 따라 안드로이드 어플리케이션 실행 요청 발생을 Activity Manager Service가 인보크하는 startProcessLocked() 메쏘드를 통해 감지하고 연계 작업 사전 수행할 경우 신호 흐름을 도시한 도면이다.
단계 5.1에서, 감지부(101)는 Activity Manager Service가 인보크하는 startProcessLocked() 메쏘드를 통해 어플리케이션 실행 요청을 감지하고, 감지한 어플리케이션 실행 요청을 전송부(102)로 통지한다.
단계 5.2에서, 전송부(102)는 연계 작업 수행부(103)로 연계 작업 수행을 명령한다.
단계 5.3에서, 연계 작업 수행부(103)는 연계 작업 수행 후 연계 작업 수행의 완료를 통지한다.
단계 5.4에서, 전송부(102)는 감지부(101)가 감지한 어플리케이션 실행 요청을 안드로이드 플랫폼의 Zygote로 전송한다.
101: 감지부
102: 전송부
103: 연계 작업 수행부

Claims (16)

  1. 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치로서,
    자바 프로그래밍 랭귀지를 사용하여 개발되었으며 운영체제, 미들웨어, 그리고 핵심 어플리케이션으로 구성된 안드로이드 플랫폼에서 동작하는 안드로이드 어플리케이션의 실행 요청 발생을 감지하는 감지 수단,
    상기 감지 수단이 감지한 실행 요청을 전송하는 전송 수단, 및
    이용자 단말에 출력할 광고 컨텐츠를 지정하고, 상기 전송 수단으로부터 실행 요청과 안드로이드 어플리케이션 정보를 전달 받을 경우, 상기 지정한 광고 컨텐츠를 이용자 단말에 출력하고 광고 컨텐츠 출력 완료 후 광고 출력 완료 상태를 상기 전송 수단으로 통지하는 연계 작업 수행 수단을 포함하되,
    상기 전송 수단은
    상기 감지 수단이 감지한 실행 요청과 상기 실행 요청을 발생시킨 어플리케이션 정보를 상기 연계 작업 수행 수단으로 전송하고, 또한 상기 연계 작업 수행 수단이 광고 컨텐츠 출력 완료를 통지할 경우 상기 감지 수단이 김지한 실행 요청을 Launcher, Activity Manager Service, Zygote 프로세스 중 최소한 하나로 전송하는 것을 특징으로 하는 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치.
  2. 제 1항의 장치에 있어서, 상기 감지 수단은 사용자의 어플리케이션 클릭 이벤트, 안드로이드 소프트웨어 스택에서 어플케이션 계층의 Launcher가 Binder IPC를 통해 전송하는 startActivity(Intent) 콜, 안드로이드 소프트웨어 스택에서 어플리케이션 프레임워크 계층의 Activity Manager Service가 인보크하는 startProcessLocked() 메쏘드 중 적어도 하나를 통해서 어플리케이션 실행 요청 발생을 감지하고, 감지한 어플리케이션 실행 요청을 상기 전송 수단으로 통지하는 것을 특징으로 하는 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제 1항의 장치에 있어서, 상기 연계 작업 수행 안드로이드 어플리케이션의 AndroidManifest.xml 파일에 포함된 어플리케이션 정보를 기반으로 각 안드로이드 어플리케이션에 대해 실행 요청이 발생할 경우 이용자 단말에 출력한 광고 컨텐츠를 안드로이드 어플리케이션 별로 지정하는 것을 특징으로 하는 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치.
  7. 삭제
  8. 삭제
  9. i) 안드로이드 어플리케이션 실행요청 발생시, 어플리케이션 실행 전에 출력할 광고 컨텐츠를 지정하는 단계;
    ii) 감지부가 자바 프로그래밍 랭귀지를 사용하여 개발되었으며 운영체제, 미들웨어, 그리고 핵심 어플리케이션으로 구성된 안드로이드 플랫폼에서 동작하는 안드로이드 어플리케이션의 실행 요청 발생을 감지하는 단계;
    iii) 전송부가 상기 제 i) 단계에서 감지한 실행 요청을 안드로이드 Zygote 프로세스가 fork 프로세스를 수행하기 이전에 연계 작업 수행부로 전송하는 단계;
    iv) 상기 제 ii) 단계에서 감지한 실행 요청을 발생시킨 어플리케이션에 대해 상기 제 i) 단계에서 지정한 광고 컨텐츠를 이용자 단말에 출력하는 단계; 및
    v) 상기 제 ii) 단계에서 감지한 안드로이드 어플리케이션 실행 요청을 안드로이드 플랫폼 상의 Launcher, Activity Manager Service, 혹은 Zygote 프로세스 중 적어도 하나로 전송하는 단계로 구성되는 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 방법.
  10. 제 9항의 방법에 있어서, 상기 i) 단계에서 안드로이드 어플리케이션의 AndroidManifest.xml 파일에 포함된 어플리케이션 정보를 기반으로 해당 어플리케이션 실행 요청이 발생할 경우 사전에 수행할 연계 작업을 정의하는 것을 특징으로 하는 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 방법.
  11. 삭제
  12. 삭제
  13. 제 9항의 방법에 있어서, 상기 ii) 단계에서 사용자의 어플리케이션 클릭 이벤트, 안드로이드 소프트웨어 스택에서 어플케이션 계층의 Launcher가 Binder IPC를 통해 전송하는 startActivity(Intent) 콜, 안드로이드 소프트웨어 스택에서 어플리케이션 프레임워크 계층의 Activity Manager Service가 인보크하는 startProcessLocked() 메쏘드 중 적어도 하나를 통해서 어플리케이션 실행 요청 발생을 감지하는 것을 특징으로 하는 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 방법.
  14. 삭제
  15. 제 9항의 방법에 있어서, 상기 iv) 단계에서 광고 컨텐츠를 이용자 단말에 출력하고, 광고 컨텐츠 출력 완료 상태를 감지부로 통지하는 것을 특징으로 하는 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 방법.
  16. 제 9항의 방법에 있어서, 상기 v) 단계에서 감지부가 광고 컨텐츠 출력 완료 상태를 통지 받을 경우 상기 ii) 단계에서 감지한 어플리케이션 실행 요청을 전송부가 Launcher, Activity Manager Service, Zygote 프로세스 중 최소한 하나로 전송하는 것을 특징으로 하는 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 방법.
KR1020110055987A 2011-06-10 2011-06-10 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치 및 방법 KR101209951B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020110055987A KR101209951B1 (ko) 2011-06-10 2011-06-10 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치 및 방법
PCT/KR2011/007513 WO2012169702A1 (ko) 2011-06-10 2011-10-11 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치 및 방법
US14/125,090 US20140304717A1 (en) 2011-06-10 2011-10-11 Device and method for performing pre-linking activity per application according to android application execution request

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110055987A KR101209951B1 (ko) 2011-06-10 2011-06-10 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101209951B1 true KR101209951B1 (ko) 2012-12-07

Family

ID=47296240

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110055987A KR101209951B1 (ko) 2011-06-10 2011-06-10 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치 및 방법

Country Status (3)

Country Link
US (1) US20140304717A1 (ko)
KR (1) KR101209951B1 (ko)
WO (1) WO2012169702A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160148646A (ko) * 2014-05-30 2016-12-26 애플 인크. 전자 디바이스들 사이의 액티비티 계속
US10165391B2 (en) 2014-05-30 2018-12-25 Apple Inc. Companion application for activity cooperation
US10187770B2 (en) 2014-05-30 2019-01-22 Apple Inc. Forwarding activity-related information from source electronic devices to companion electronic devices
US10237711B2 (en) 2014-05-30 2019-03-19 Apple Inc. Dynamic types for activity continuation between electronic devices
CN111651224A (zh) * 2015-08-13 2020-09-11 三星电子株式会社 用于识别、索引和导航至移动应用的深度状态的***和方法
US11741210B2 (en) 2014-05-30 2023-08-29 Apple Inc. Proximity unlock and lock operations for electronic devices

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182686A (zh) * 2013-05-23 2014-12-03 阿里巴巴集团控股有限公司 一种Android***Activity劫持风险检测方法及装置
CN105653339B (zh) * 2015-12-30 2019-06-14 Oppo广东移动通信有限公司 应用进程启动方法及应用进程启动装置
CN105677400B (zh) * 2015-12-30 2019-10-25 Oppo广东移动通信有限公司 应用进程启动方法及应用进程启动装置
CN105677401B (zh) * 2015-12-30 2019-08-06 Oppo广东移动通信有限公司 应用进程启动方法及应用进程启动装置
CN105955832B (zh) * 2016-05-12 2019-06-21 武汉斗鱼网络科技有限公司 一种设备屏幕页面与子页面之间互相通信的方法及***
CN106203068B (zh) * 2016-06-22 2019-12-10 Oppo广东移动通信有限公司 一种终端应用的控制方法及装置
CN108268311B (zh) * 2016-12-30 2021-11-30 北京国双科技有限公司 调用方应用程序的确定方法及装置
CN108920195B (zh) * 2018-06-19 2021-05-18 Oppo(重庆)智能科技有限公司 开机处理方法及相关产品
CN109508550A (zh) * 2018-10-22 2019-03-22 南瑞集团有限公司 基于SEAndroid的用户隐私保护方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008023604A (ja) 2006-07-18 2008-02-07 Advanced Telecommunication Research Institute International アンドロイド制御システム
KR101015573B1 (ko) 2010-07-29 2011-02-16 (주)제이모바일 Rtos 기반의 안드로이드 어플리케이션 실행 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005005909A (ja) * 2003-06-10 2005-01-06 Sony Ericsson Mobilecommunications Japan Inc 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器
JP2010517161A (ja) * 2007-01-23 2010-05-20 アギア システムズ インコーポレーテッド デバイス用シングル・スレッド・アーキテクチャにおけるアプリケーションの切り替え
US8112771B2 (en) * 2008-01-30 2012-02-07 Microsoft Corporation Managing component programs within a service application
US8589541B2 (en) * 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US20120089912A1 (en) * 2010-10-06 2012-04-12 Oggifinogi, Inc. Prestreams

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008023604A (ja) 2006-07-18 2008-02-07 Advanced Telecommunication Research Institute International アンドロイド制御システム
KR101015573B1 (ko) 2010-07-29 2011-02-16 (주)제이모바일 Rtos 기반의 안드로이드 어플리케이션 실행 장치

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200024348A (ko) * 2014-05-30 2020-03-06 애플 인크. 전자 디바이스들 사이의 액티비티 계속
US10165391B2 (en) 2014-05-30 2018-12-25 Apple Inc. Companion application for activity cooperation
KR20160148646A (ko) * 2014-05-30 2016-12-26 애플 인크. 전자 디바이스들 사이의 액티비티 계속
KR101932395B1 (ko) 2014-05-30 2018-12-24 애플 인크. 전자 디바이스들 사이의 액티비티 계속
US10659200B2 (en) 2014-05-30 2020-05-19 Apple Inc. Companion application for activity cooperation
KR101933557B1 (ko) 2014-05-30 2018-12-28 애플 인크. 액티비티 협력을 위한 동반 애플리케이션
KR20190000399A (ko) * 2014-05-30 2019-01-02 애플 인크. 액티비티 협력을 위한 동반 애플리케이션
US10667109B2 (en) 2014-05-30 2020-05-26 Apple Inc. Forwarding activity-related information from source electronic devices to companion electronic devices
US10193987B2 (en) 2014-05-30 2019-01-29 Apple Inc. Activity continuation between electronic devices
US10237711B2 (en) 2014-05-30 2019-03-19 Apple Inc. Dynamic types for activity continuation between electronic devices
KR101981026B1 (ko) 2014-05-30 2019-05-21 애플 인크. 액티비티 협력을 위한 동반 애플리케이션
KR102084577B1 (ko) 2014-05-30 2020-03-04 애플 인크. 전자 디바이스들 사이의 액티비티 계속
KR20180086514A (ko) * 2014-05-30 2018-07-31 애플 인크. 전자 디바이스들 사이의 액티비티 계속
KR101855866B1 (ko) * 2014-05-30 2018-06-19 애플 인크. 전자 디바이스들 사이의 액티비티 계속
US10187770B2 (en) 2014-05-30 2019-01-22 Apple Inc. Forwarding activity-related information from source electronic devices to companion electronic devices
US10708371B2 (en) 2014-05-30 2020-07-07 Apple Inc. Activity continuation between electronic devices
US10771946B2 (en) 2014-05-30 2020-09-08 Apple Inc. Dynamic types for activity continuation between electronic devices
US11741210B2 (en) 2014-05-30 2023-08-29 Apple Inc. Proximity unlock and lock operations for electronic devices
KR102191318B1 (ko) 2014-05-30 2020-12-15 애플 인크. 전자 디바이스들 사이의 액티비티 계속
KR20200140944A (ko) * 2014-05-30 2020-12-16 애플 인크. 전자 디바이스들 사이의 액티비티 계속
KR102294205B1 (ko) 2014-05-30 2021-08-25 애플 인크. 전자 디바이스들 사이의 액티비티 계속
US11356829B2 (en) 2014-05-30 2022-06-07 Apple Inc. Dynamic types for activity continuation between electronic devices
CN111651224A (zh) * 2015-08-13 2020-09-11 三星电子株式会社 用于识别、索引和导航至移动应用的深度状态的***和方法
US11915016B2 (en) 2015-08-13 2024-02-27 Samsung Electronics Co., Ltd. System and method for identifying, indexing, and navigating to deep states of mobile applications
CN111651224B (zh) * 2015-08-13 2024-04-09 三星电子株式会社 用于识别、索引和导航至移动应用的深度状态的***和方法

Also Published As

Publication number Publication date
US20140304717A1 (en) 2014-10-09
WO2012169702A1 (ko) 2012-12-13

Similar Documents

Publication Publication Date Title
KR101209951B1 (ko) 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치 및 방법
US11025750B2 (en) Determining whether to perform requests at a server or at a client device based on resources provided by the client device
JP6577672B2 (ja) 支払い処理方法及び装置並びにインテリジェントデバイス
US9313216B2 (en) Method and system for monitoring application program of mobile device
US20130055387A1 (en) Apparatus and method for providing security information on background process
KR102121358B1 (ko) 데이터 전송 방법 및 디바이스
US20110165947A1 (en) Communication system, communication terminal, server, communication method to be used therein and program therefor
CN103699367A (zh) Http应用程序接口调用方法与装置
JP2015018537A (ja) アプリケーションのダウンロード方法およびシステム
KR20200089988A (ko) 안드로이드 앱 실행 요청에 따른 앱별 연동 사전 수행 장치
CN113141530B (zh) 基于遥控交互方法、装置、电子设备和存储介质
CN111241588B (zh) 一种在应用中实现辅助功能的方法及装置
KR20110101414A (ko) Url 정보 발신 방법
CN114238021A (zh) 一种sdk接口定位方法、装置、设备及计算机存储介质
JP2017228292A (ja) 簡易決済方法および簡易決済システム
KR101365238B1 (ko) 스마트 디바이스의 애플리케이션 소프트웨어의 기동 및 종료 시의 알림 메시지를 이용한 광고 방법
KR101946569B1 (ko) 모바일 운영체계 시스템의 발신 호 스푸핑 방지 방법, 이를 위한 장치, 컴퓨터 판독 가능 기록 매체 및 컴퓨터 프로그램
CN113190295A (zh) 信息处理方法、处理装置和电子设备
KR101516956B1 (ko) 메시지 처리를 위한 단말 장치, 메시지 처리 방법 및 기록 매체
CN114356452B (zh) 定位结果信息的获取方法、装置、电子设备及存储介质
KR101135958B1 (ko) 메시지 서비스를 이용한 이동통신단말기의 명령 실행 방법 및 그 시스템
KR101800801B1 (ko) 소셜 네트워크 서비스를 위한 api 제공 방법, 이를 이용한 단말 장치 및 소셜 네트워크 서비스 시스템
KR101638162B1 (ko) 모바일 단말의 어플리케이션의 실행을 지원하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
KR101528352B1 (ko) 전화 애플리케이션 프로그램의 사용자 인터페이스 활성화 방법 및 이를 구현하기 위한 장치
CN117793447A (zh) 投屏方法、装置、设备、介质及产品

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171204

Year of fee payment: 6