TW202001554A - Android系統Activity的啟動方法和裝置 - Google Patents

Android系統Activity的啟動方法和裝置 Download PDF

Info

Publication number
TW202001554A
TW202001554A TW108107051A TW108107051A TW202001554A TW 202001554 A TW202001554 A TW 202001554A TW 108107051 A TW108107051 A TW 108107051A TW 108107051 A TW108107051 A TW 108107051A TW 202001554 A TW202001554 A TW 202001554A
Authority
TW
Taiwan
Prior art keywords
push message
activity
intent
activation
startup
Prior art date
Application number
TW108107051A
Other languages
English (en)
Other versions
TWI714006B (zh
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 香港商阿里巴巴集團服務有限公司
Publication of TW202001554A publication Critical patent/TW202001554A/zh
Application granted granted Critical
Publication of TWI714006B publication Critical patent/TWI714006B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

說明書披露一種Android系統Activity的啟動方法和裝置。該方法包括:回應於來自服務端的推送訊息,基於預定的Activity啟動規則對所述推送訊息進行解析;若解析失敗,則將所述推送訊息攜帶的啟動字串轉換為Intent;基於所述Intent創建PendingIntent;當所述PendingIntent對應的通知欄訊息被觸發時,啟動所述推送訊息對應的Activity。

Description

Android系統Activity的啟動方法和裝置
本說明書係關於終端技術領域,尤其關於一種Android系統Activity的啟動方法和裝置。
Activity(活動)是Android系統中最基本、也是最為常見的四大組件之一。Activity提供一個螢幕,可給用戶提供互動式的介面功能。在Android系統中,可基於Activity啟動規則,透過Intent(意圖)來實現Activity的啟動。
有鑑於此,本說明書提供一種Android系統Activity的啟動方法和裝置。 具體地,本說明書是透過如下技術方案實現的: 一種Android系統Activity的啟動方法,包括: 回應於來自服務端的推送訊息,基於預定的Activity啟動規則對所述推送訊息進行解析; 若解析失敗,則將所述推送訊息攜帶的啟動字串轉換為Intent; 基於所述Intent創建PendingIntent; 當所述PendingIntent對應的通知欄訊息被觸發時,啟動所述推送訊息對應的Activity。 一種Android系統Activity的啟動裝置,包括: 解析單元,回應於來自服務端的推送訊息,基於預定的Activity啟動規則對所述推送訊息進行解析; 轉換單元,若解析失敗,則將所述推送訊息攜帶的啟動字串轉換為Intent; 創建單元,基於所述Intent創建PendingIntent; 啟動單元,當所述PendingIntent對應的通知欄訊息被觸發時,啟動所述推送訊息對應的Activity。 一種Android系統Activity的啟動裝置,包括: 處理器; 用於儲存機器可執行指令的記憶體; 其中,透過讀取並執行所述記憶體儲存的與Android系統Activity的啟動邏輯對應的機器可執行指令,所述處理器被促使: 回應於來自服務端的推送訊息,基於預定的Activity啟動規則對所述推送訊息進行解析; 若解析失敗,則將所述推送訊息攜帶的啟動字串轉換為Intent; 基於所述Intent創建PendingIntent; 當所述PendingIntent對應的通知欄訊息被觸發時,啟動所述推送訊息對應的Activity。 由以上描述可以看出,本說明書可利用字串與Intent之間的轉換,在客戶端未配置Activity啟動規則時,將啟動該Activity的intent轉換為啟動字串配置到服務端的推送訊息中,從而實現Activity啟動功能的雲端化。在新增Activity時,無需在客戶端中配置對應的Activity啟動規則,即可實現Activity的啟動,簡單便捷。對於用戶而言,也無需頻繁升級客戶端,體驗較佳。
這裡將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式並不代表與本說明書相一致的所有實施方式。相反,它們僅是與如所附申請專利範圍中所詳述的、本說明書的一些方面相一致的裝置和方法的例子。 在本說明書使用的術語是僅僅出於描述特定實施例的目的,而非旨在限制本說明書。在本說明書和所附申請專利範圍中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指並包含一個或多個相關聯的列出專案的任何或所有可能組合。 應當理解,儘管在本說明書可能採用術語第一、第二、第三等來描述各種資訊,但這些資訊不應限於這些術語。這些術語僅用來將同一類型的資訊彼此區分開。例如,在不脫離本說明書範圍的情況下,第一資訊也可以被稱為第二資訊,類似地,第二資訊也可以被稱為第一資訊。取決於語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“回應於確定”。 圖1是本說明書一示例性實施例示出的一種Android系統Activity的啟動方法的流程示意圖。 所述Android系統Activity的啟動方法可以應用在智慧型終端上裝載的客戶端軟體中,所述智慧型終端可以包括:平板電腦、智慧型手機、PDA(Personal Digital Assistant,掌上型電腦)等,本說明書對此不作特殊限制。 請參考圖1,所述Android系統Activity的啟動方法可包括以下步驟: 步驟102,回應於來自服務端的推送訊息,基於預定的Activity啟動規則對所述推送訊息進行解析。 步驟104,若解析失敗,則將所述推送訊息攜帶的啟動字串轉換為Intent。 在本實施例中,所述啟動字元串通常由開發人員預先配置在推送訊息中。 例如,開發人員可以先在本地透過Intent的方式啟動推送訊息對應的Activity,然後透過Intent與字串之間的轉換,將該Intent轉換為字串,為便於區分,可將Intent轉換後得到的字串稱為轉換字串,再將轉換字串配置到服務端的推送訊息中。 步驟106,基於所述Intent創建PendingIntent。 步驟108,當所述PendingIntent對應的通知欄訊息被觸發時,啟動所述推送訊息對應的Activity。 由以上描述可以看出,本實施例可利用字串與Intent之間的轉換,在客戶端未配置Activity啟動規則時,將啟動該Activity的intent轉換為啟動字串配置到服務端的推送訊息中,從而實現Activity啟動功能的雲端化。在新增Activity時,無需在客戶端中配置對應的Activity啟動規則,即可實現Activity的啟動,簡單便捷。對於用戶而言,也無需頻繁升級客戶端,體驗較佳。 圖2是本說明書一示例性實施例示出的另一種Android系統Activity的啟動方法的流程示意圖。 請參考圖2,所述Android系統Activity的啟動方法可包括以下步驟: 步驟202,回應於來自服務端的推送訊息,基於預定的Activity啟動規則對所述推送訊息進行解析。 在本實施例中,所述預定的Activity啟動規則通常由開發人員預先配置在客戶端軟體中,可用於實現對對應Activity的啟動。 在本實施例中,在接收到服務端發送的推送訊息後,客戶端可以根據已配置的Activity啟動規則對推送訊息進行解析。 若解析成功,可實現對所述推送訊息對應的Activity的啟動。 例如,客戶端可以基於所述Activity啟動規則創建PendingIntent,並透過通知欄訊息將所述推送訊息展示給用戶。所述通知欄訊息被用戶點擊後的跳轉行為依賴創建的所述PendingIntent。例如,用戶在點擊所述通知欄中展示的推送訊息後,客戶端可以調用所述PendingIntent中的Intent,進而展示所述推送訊息對應的Activity。 若解析失敗,則執行步驟204。換言之,若基於預定的Activity啟動規則均無法解析所述推送訊息,則執行步驟204。 步驟204,將所述推送訊息攜帶的啟動字串轉換為Intent。 基於前述步驟202的解析結果,若解析失敗,通常說明客戶端中未配置與所述推送訊息對應的Activity的啟動規則。 在本實施例中,針對未在客戶端上配置啟動規則的Activity,開發人員可以預先在本地透過Intent的方式啟動該Activity,在啟動成功後,可透過string str_intent= Intent.toUri(flags)將該Intent轉換為啟動字串,並將該啟動字串配置到與該Activity對應的服務端推送訊息中。 例如,可以將該啟動字串作為Key值配置到推送訊息中。 又例如,可以將該啟動字串配置到推送訊息的指定欄位中,本說明書對此不作特殊限制。 在本實施例中,針對解析失敗的推送訊息,客戶端可以根據啟動字串的配置位置,透過Intent intent=Intent.parseUri (string, flags)將該推送訊息攜帶的啟動字串轉換為Intent。 例如,可以將該推送訊息中的指定Key值對應的Value值轉換為Intent。 又例如,可以將該推送訊息中指定欄位的字串轉換為Intent,本說明書對此不作特殊限制。 在本實施例中,若無法將所述推送訊息攜帶的啟動字串轉換為Intent,則可以結束處理流程。 步驟206,基於所述Intent創建PendingIntent。 基於前述步驟204,在將所述推送訊息攜帶的啟動字串轉換為Intent後,可以基於該Intent創建一個PendingIntent,該並將所述推送訊息透過通知欄展示給用戶。 步驟208,當所述PendingIntent對應的通知欄訊息被觸發時,啟動所述推送訊息對應的Activity。 在本實施例中,當用戶點擊展示的通知欄訊息時,客戶端可以調用所述PendingIntent中的Intent,進而展示所述推送訊息對應的Activity。 由以上描述可以看出,本說明書可利用字串與Intent之間的轉換,在客戶端未配置Activity啟動規則時,將啟動該Activity的intent轉換為啟動字串配置到服務端的推送訊息中,從而實現Activity啟動功能的雲端化。在新增Activity時,無需在客戶端中配置對應的Activity啟動規則,即可實現Activity的啟動,簡單便捷。對於用戶而言,也無需頻繁升級客戶端,體驗較佳。 與前述Android系統Activity的啟動方法的實施例相對應,本說明書還提供了Android系統Activity的啟動裝置的實施例。 本說明書Android系統Activity的啟動裝置的實施例可以應用在終端裝載的客戶端軟體上。裝置實施例可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是透過其所在終端的處理器將非易失性記憶體中對應的電腦程式指令讀取到記憶體中運行形成的。從硬體層面而言,如圖3所示,為本說明書Android系統Activity的啟動裝置所在終端的一種硬體結構圖,除了圖3所示的處理器、記憶體、網路介面、以及非易失性記憶體之外,實施例中裝置所在的終端通常根據該終端的實際功能,還可以包括其他硬體,對此不再贅述。 圖4是本說明書一示例性實施例示出的一種Android系統Activity的啟動裝置的框圖。 請參考圖4,所述Android系統Activity的啟動裝置300可以應用在前述圖3所示的終端中,包括有:解析單元301、轉換單元302、創建單元303以及啟動單元304。 其中,解析單元301,回應於來自服務端的推送訊息,基於預定的Activity啟動規則對所述推送訊息進行解析; 轉換單元302,若解析失敗,則將所述推送訊息攜帶的啟動字串轉換為Intent; 創建單元303,基於所述Intent創建PendingIntent; 啟動單元304,當所述PendingIntent對應的通知欄訊息被觸發時,啟動所述推送訊息對應的Activity。 可選的,所述啟動字串位於所述推送訊息的指定欄位中。 可選的,所述轉換單元302,在所述推送訊息攜帶的啟動字串無法轉換為Intent時,結束處理流程。 可選的,所述推送訊息攜帶的啟動字串預先基於所述推送訊息對應的Activity配置。 上述裝置中各個單元的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。 對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部模組來實現本說明書方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。 上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、行動電話、相機電話、智慧型電話、個人數位助理、媒體播放機、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。 與前述Android系統Activity的啟動方法的實施例相對應,本說明書還提供一種Android系統Activity的啟動裝置,該Android系統Activity的啟動裝置包括:處理器以及用於儲存機器可執行指令的記憶體。其中,處理器和記憶體通常藉由內部匯流排相互連接。在其他可能的實現方式中,所述設備還可能包括外部介面,以能夠與其他設備或者部件進行通信。 在本實施例中,透過讀取並執行所述記憶體儲存的與Android系統Activity的啟動邏輯對應的機器可執行指令,所述處理器被促使: 回應於來自服務端的推送訊息,基於預定的Activity啟動規則對所述推送訊息進行解析; 若解析失敗,則將所述推送訊息攜帶的啟動字串轉換為Intent; 基於所述Intent創建PendingIntent; 當所述PendingIntent對應的通知欄訊息被觸發時,啟動所述推送訊息對應的Activity。 可選的,所述啟動字串位於所述推送訊息的指定欄位中。 可選的,還包括: 當所述推送訊息攜帶的啟動字串無法轉換為Intent時,結束處理流程。 可選的,所述推送訊息攜帶的啟動字串預先基於所述推送訊息對應的Activity配置。 與前述Android系統Activity的啟動方法的實施例相對應,本說明書還提供一種電腦可讀儲存媒體,所述電腦可讀儲存媒體上儲存有電腦程式,該程式被處理器執行時實現以下步驟: 回應於來自服務端的推送訊息,基於預定的Activity啟動規則對所述推送訊息進行解析; 若解析失敗,則將所述推送訊息攜帶的啟動字串轉換為Intent; 基於所述Intent創建PendingIntent; 當所述PendingIntent對應的通知欄訊息被觸發時,啟動所述推送訊息對應的Activity。 可選的,所述啟動字串位於所述推送訊息的指定欄位中。 可選的,還包括: 當所述推送訊息攜帶的啟動字串無法轉換為Intent時,結束處理流程。 可選的,所述推送訊息攜帶的啟動字串預先基於所述推送訊息對應的Activity配置。 上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多工處理和並行處理也是可以的或者可能是有利的。 以上所述僅為本說明書的較佳實施例而已,並不用以限制本說明書,凡在本說明書的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書保護的範圍之內。
300‧‧‧Android系統Activity的啟動裝置 301‧‧‧解析單元 302‧‧‧轉換單元 303‧‧‧創建單元 304‧‧‧啟動單元
圖1是本說明書一示例性實施例示出的一種Android系統Activity的啟動方法的流程示意圖。 圖2是本說明書一示例性實施例示出的另一種Android系統Activity的啟動方法的流程示意圖。 圖3是本說明書一示例性實施例示出的一種用於Android系統Activity的啟動裝置的一結構示意圖。 圖4是本說明書一示例性實施例示出的一種Android系統Activity的啟動裝置的框圖。

Claims (9)

  1. 一種Android系統Activity的啟動方法,包括: 回應於來自服務端的推送訊息,基於預定的Activity啟動規則對該推送訊息進行解析; 若解析失敗,則將該推送訊息攜帶的啟動字串轉換為Intent; 基於該Intent創建PendingIntent; 當該PendingIntent對應的通知欄訊息被觸發時,啟動該推送訊息對應的Activity。
  2. 根據請求項1所述的方法, 該啟動字串位於該推送訊息的指定欄位中。
  3. 根據請求項1所述的方法,還包括: 當該推送訊息攜帶的啟動字串無法轉換為Intent時,結束處理流程。
  4. 根據請求項1所述的方法, 該推送訊息攜帶的啟動字串預先基於該推送訊息對應的Activity配置。
  5. 一種Android系統Activity的啟動裝置,包括: 解析單元,回應於來自服務端的推送訊息,基於預定的Activity啟動規則對該推送訊息進行解析; 轉換單元,若解析失敗,則將該推送訊息攜帶的啟動字串轉換為Intent; 創建單元,基於該Intent創建PendingIntent; 啟動單元,當該PendingIntent對應的通知欄訊息被觸發時,啟動該推送訊息對應的Activity。
  6. 根據請求項5所述的裝置, 該啟動字串位於該推送訊息的指定欄位中。
  7. 根據請求項5所述的裝置, 該轉換單元,在該推送訊息攜帶的啟動字串無法轉換為Intent時,結束處理流程。
  8. 根據請求項5所述的裝置, 該推送訊息攜帶的啟動字串預先基於該推送訊息對應的Activity配置。
  9. 一種Android系統Activity的啟動裝置,包括: 處理器; 用於儲存機器可執行指令的記憶體; 其中,透過讀取並執行該記憶體儲存的與Android系統Activity的啟動邏輯對應的機器可執行指令,該處理器被促使: 回應於來自服務端的推送訊息,基於預定的Activity啟動規則對該推送訊息進行解析; 若解析失敗,則將該推送訊息攜帶的啟動字串轉換為Intent; 基於該Intent創建PendingIntent; 當該PendingIntent對應的通知欄訊息被觸發時,啟動該推送訊息對應的Activity。
TW108107051A 2018-06-11 2019-03-04 Android系統Activity的啟動方法和裝置 TWI714006B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810596983.8 2018-06-11
CN201810596983.8A CN109150951B (zh) 2018-06-11 2018-06-11 Android系统Activity的启动方法和装置

Publications (2)

Publication Number Publication Date
TW202001554A true TW202001554A (zh) 2020-01-01
TWI714006B TWI714006B (zh) 2020-12-21

Family

ID=64801892

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108107051A TWI714006B (zh) 2018-06-11 2019-03-04 Android系統Activity的啟動方法和裝置

Country Status (3)

Country Link
CN (1) CN109150951B (zh)
TW (1) TWI714006B (zh)
WO (1) WO2019237780A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109150951B (zh) * 2018-06-11 2020-05-29 阿里巴巴集团控股有限公司 Android系统Activity的启动方法和装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593605B (zh) * 2013-10-24 2016-11-09 复旦大学 一种基于权限使用行为的安卓平台应用程序动态分析系统
CN105700896B (zh) * 2014-11-24 2019-03-08 阿里巴巴集团控股有限公司 一种App的启动方法和设备
CN104486389B (zh) * 2014-12-04 2018-02-13 上海斐讯数据通信技术有限公司 一种窗口管理服务与app间的通信通道建立方法和系统
US20180017403A1 (en) * 2016-07-12 2018-01-18 Google Inc. Navigation API for Linking Software Applications
CN106775817A (zh) * 2016-11-23 2017-05-31 深圳铂睿智恒科技有限公司 智能终端开屏广告的控制方法、系统及智能终端
US20180160252A1 (en) * 2016-12-05 2018-06-07 Microsoft Technology Licensing, Llc Pre-provisioning of a device
CN106897057B (zh) * 2017-01-20 2020-10-16 北京奇虎科技有限公司 插件调用通知栏的方法及装置
CN107193674B (zh) * 2017-06-29 2020-01-03 武汉斗鱼网络科技有限公司 在线推送消息的处理方法及装置
CN109150951B (zh) * 2018-06-11 2020-05-29 阿里巴巴集团控股有限公司 Android系统Activity的启动方法和装置

Also Published As

Publication number Publication date
CN109150951A (zh) 2019-01-04
CN109150951B (zh) 2020-05-29
WO2019237780A1 (zh) 2019-12-19
TWI714006B (zh) 2020-12-21

Similar Documents

Publication Publication Date Title
WO2019174595A1 (zh) 资源配置方法、装置、终端及存储介质
US7499926B1 (en) Maintaining and replicating chat histories
EP3547715B1 (en) Method and apparatus for reducing continuous-wakeup delay of bluetooth loudspeaker, and bluetooth loudspeaker
KR102376713B1 (ko) 복합 파티션 함수 제공 기법
CN108432200B (zh) 用于保护和控制对私密个人信息的访问的方法
CN105635063B (zh) 物联网通信协议配置方法和装置
US20130117271A1 (en) Method and Apparatus for Automatically Classifying Application in Mobile Terminal
JP2023506699A (ja) グループセッションにおけるリマインダー方法、装置、デバイスおよびコンピュータプログラム
US20150026356A1 (en) Push notification middleware
US8886787B2 (en) Notification for a set of sessions using a single call issued from a connection pool
WO2020052337A1 (zh) 信息处理方法、装置、存储介质及电子设备
WO2016202215A1 (zh) 实现动态图片预览的方法和装置、表情包展示方法和装置
CN112152913B (zh) 一种服务控制方法、装置及系统
US20170134364A1 (en) Note update method and device
WO2017031894A1 (zh) 数据的搜索方法、装置及终端
CN109542878B (zh) 一种列表创建方法及装置
WO2019205555A1 (zh) 消息推送方法及装置
WO2023005197A1 (zh) 内容显示方法及终端
US20170155741A1 (en) Server, method, and system for providing service data
CN115967691A (zh) 消息处理方法、装置、电子设备、存储介质及程序产品
WO2019071928A1 (zh) 列表视图的实现方法、装置、可读存储介质及设备
US20170188214A1 (en) Method and electronic device for sharing multimedia information
TWI714006B (zh) Android系統Activity的啟動方法和裝置
WO2023169193A1 (zh) 用于生成智能合约的方法和装置
CN111046206A (zh) 头像列表展示方法、装置、电子设备及存储介质