WO2020015415A1 - 一种终端重启方法及装置 - Google Patents

一种终端重启方法及装置 Download PDF

Info

Publication number
WO2020015415A1
WO2020015415A1 PCT/CN2019/083756 CN2019083756W WO2020015415A1 WO 2020015415 A1 WO2020015415 A1 WO 2020015415A1 CN 2019083756 W CN2019083756 W CN 2019083756W WO 2020015415 A1 WO2020015415 A1 WO 2020015415A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
target application
application information
restart
byte stream
Prior art date
Application number
PCT/CN2019/083756
Other languages
English (en)
French (fr)
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 WO2020015415A1 publication Critical patent/WO2020015415A1/zh

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/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • 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/4401Bootstrapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/725Cordless telephones

Definitions

  • the present application relates to the technical field of terminals, and in particular, to a terminal restart method and device.
  • the Android system is a cross-platform, open source operating system that has been widely used in mobile phones, tablets, wearables, TVs and other devices.
  • the most famous thing is that after a long period of use of the Android system, it causes problems such as freezes, mobile phone performance degradation, and poor user experience.
  • the Android system can be restarted based on the Framework layer.
  • the restart based on the Framework layer can solve the aging and aging problems of applications and system processes.
  • users need to enter a password. Will make the user perceive the restart operation of the terminal.
  • the embodiments of the present application provide a method and a device for restarting a terminal, which are used to solve a problem that a user needs to enter a password after restarting a framework layer of the terminal, so that the user perceives a problem of restarting the terminal.
  • a terminal restart method including: the terminal retains the target unlock state of the terminal's file system, the target unlock state is the current unlock state; the terminal restarts the framework layer of the terminal; and the terminal queries the unlock state of the file system of the terminal ; The terminal sets the unlocking mode of the terminal to the unlocking mode corresponding to the queryed unlocking state.
  • the method provided by the first aspect is that before the terminal restarts the framework layer of the terminal, the terminal can retain the current unlocked state of the terminal's file system, so that after restarting the framework layer of the terminal, the user can still use the Unlocking the terminal in the unlocking method does not make the user perceive the restart of the framework layer of the terminal through the unlocking method, improving the user experience.
  • the terminal restart method before the terminal restarts the framework layer of the terminal, the terminal restart method further includes: the terminal saves target application information, and the target application information is information related to the application currently running on the terminal; restarting the framework layer of the terminal at the terminal After that, the terminal restarting method further includes: the terminal recovering the target application information on the terminal according to the saved target application information.
  • the target application information includes at least one of a current notification list, current application data of a foreground application, and an identifier of at least one current background application.
  • the target application information includes application data of the current foreground application, and the application data of the foreground application is all activities related to the foreground application in the stack corresponding to the foreground application.
  • the terminal recovering the target application information on the terminal according to the saved target application information includes: the terminal obtains all saved activities; the terminal starts all activities on the terminal according to the positions of all the obtained activities in the stack; Among them, the lower-level activities in the stack are started earlier.
  • the terminal can recover the application data of the current foreground application, so that the user cannot sense the restart of the Framework layer of the terminal according to the foreground application, and improve the user experience.
  • the target application information includes a current notification list
  • the terminal recovering the target application information on the terminal according to the saved target application information includes: the terminal obtains information of each notification in the notification list according to the saved notification list ; The terminal resumes all notifications in the notification list on the terminal in order from time to time.
  • the terminal can restore the notification list, so that the user cannot sense the restart of the Framework layer of the terminal according to the notification list, and improve the user experience.
  • the target application information includes the current application data of the foreground application and / or the current notification list
  • the terminal saves the target application information, including: if the target application information includes a bitmap object, the terminal sends the first word The throttling is stored in the database, and the first byte stream is a bitmap object or a compressed bitmap object; and / or, if the target application information includes an intent object to be triggered, the terminal stores the second byte stream into the database.
  • the two-byte stream is a byte stream obtained by serializing the information in the activity manager service corresponding to the basic interface object that triggers the remote procedure call in the intent object.
  • the first byte stream corresponding to the bitmap object is stored in the database, and the security of the bitmap object storage is improved (in the prior art, the bitmap object is stored as a picture in a file. Sex is not high).
  • this possible implementation manner also provides a method for storing an intent object to be triggered.
  • the application data may contain any one or more of a bitmap and an intent to be triggered, and the notification list is the same.
  • the terminal restart method further includes: if the target application information includes a bitmap object, the terminal stores a first hash value calculated according to the first byte stream into a database, and the first hash value is used Checking and / or deduplicating the first byte stream; and / or, if the target application information includes an intent to be triggered, the terminal stores a second hash value calculated according to the second byte stream into the database The second hash value is used to checksum and / or deduplicate the second byte stream.
  • the first hash value to check the first byte stream
  • the security of the first byte stream can be improved, and the first byte stream is deduplicated by using the first hash value.
  • the terminal restarting method further includes: if the target application information includes a bitmap object, the terminal writes the first hash value into the package, and / or, if the target application information includes the intent object to be triggered, The terminal writes the second hash value into the parcel.
  • This possible implementation manner does not need to write the entire first byte stream and / or the second byte stream into parcel, saving parcel space.
  • the terminal recovering the target application information on the terminal according to the saved target application information includes: the terminal obtains the package in the database, and obtains the first item in the database according to the first hash value in the obtained package.
  • One byte stream the terminal deserializes the first byte stream to obtain a bitmap object; and / or, the terminal obtains the package in the database, and obtains the first byte in the database according to the second hash value in the obtained package.
  • Two-byte stream the terminal deserializes the second byte stream to obtain the information in the activity manager service corresponding to the basic interface object of the remote procedure call in the intent to be triggered, and determines the pending information based on the information in the activity manager service.
  • Trigger intent object the terminal restores target application information on the terminal according to the bitmap object and / or the intent object to be triggered.
  • the terminal may obtain a bitmap object and / or an intent to be triggered object from a database, so as to recover target application information on the terminal.
  • the target application information includes an identifier of at least one current background application
  • the terminal recovering the target application information on the terminal according to the saved target application information includes: the terminal obtaining the saved identifier of the at least one background application; the terminal Start at least one background application on the terminal according to the obtained identifier of the at least one background application.
  • the terminal restart method before the terminal restarts the framework layer of the terminal, the terminal restart method further includes: the terminal determines that the terminal is in an idle state.
  • This possible implementation manner can restart the Framework layer of the terminal when the terminal is in an idle state, avoiding the user's perception of the restart of the Framework layer, and improving the user experience.
  • the terminal restart method before the terminal restarts the framework layer of the terminal, the terminal restart method further includes: the second screen animation in the startup animation of the terminal closing the terminal.
  • the second screen animation is a manufacturer's personalized startup animation added by the terminal manufacturer. This possible implementation manner can make the user unable to perceive the restart of the Framework layer of the terminal according to the second screen animation, thereby improving the user experience.
  • a terminal restart device in a second aspect, has a function of implementing any one of the methods provided in the first aspect. These functions can be realized by hardware, and can also be implemented by hardware executing corresponding software.
  • the hardware or software includes one or more units corresponding to the functions described above.
  • the device can exist in the form of a chip product.
  • the terminal restarting device may specifically be a terminal, or may be a fixed or removable function module provided on the terminal.
  • a terminal restart device includes: a memory and a processor; the memory is configured to store a computer execution instruction, and the processor is configured to execute the computer executed instruction stored in the memory, so that the device executes the first Either method provided by the aspect.
  • the terminal restarting device may specifically be a terminal, or may be a fixed or removable function module provided on the terminal.
  • a computer-readable storage medium including instructions, which, when run on a computer, cause the computer to execute any one of the methods provided by the first aspect.
  • a computer program product containing instructions which when run on a computer, causes the computer to execute any one of the methods provided in the first aspect.
  • FIG. 1 is a schematic diagram of a hardware composition of a mobile phone according to an embodiment of the present application
  • FIG. 2 is a schematic structural diagram of an Android system according to an embodiment of the present application.
  • FIG. 3 is a flowchart of a method for restarting a terminal according to an embodiment of the present application
  • FIG. 4 is a flowchart of data storage and restoration on a terminal according to an embodiment of the present application.
  • FIG. 5 is a flowchart of saving and restoring data on a terminal according to another embodiment of the present application.
  • 6 to 8 are schematic diagrams of components of a terminal restart device provided by an embodiment of the present application.
  • the method provided in the embodiment of the present application may be applied to a terminal.
  • a terminal may also be called a user equipment (User Equipment, UE for short), a mobile device, a terminal device, and the like.
  • the terminal may be a mobile phone, a tablet computer, a vehicle-mounted device, a wearable device, a television, or the like.
  • the terminal can be installed with the Android system or other operating systems.
  • the method provided in the terminal installed with the Android system is taken as an example to describe the method provided in the embodiment of the present application as an example.
  • FIG. 1 is a block diagram showing a partial structure of a mobile phone 100 related to the embodiment of the present application.
  • the mobile phone 100 includes a radio frequency (RF) circuit 110, a memory 120, other input devices 130, a display screen 140, a sensor 150, an audio circuit 160, an I / O subsystem 170, a processor 180, and Power supply 190 and other components.
  • RF radio frequency
  • FIG. 1 does not constitute a limitation on the mobile phone, and may include more or fewer parts than shown in the figure, or combine some parts, or disassemble some parts, or Different component arrangements.
  • the display screen 140 belongs to a user interface (UI), and the mobile phone 100 may include more or less user interfaces than illustrated.
  • UI user interface
  • the RF circuit 110 may be used for receiving and sending signals during information transmission or communication. Specifically, after receiving the downlink information of the base station, it is processed by the processor 180 and the uplink data is sent to the base station.
  • the RF circuit 110 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a Low Noise Amplifier (LNA), a duplexer, and the like.
  • the RF circuit 110 can also communicate with a network and other devices through wireless communication.
  • Wireless communication can use any communication standard or protocol, including but not limited to Global System of Mobile (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (Code) Division Multiple Access (CDMA for short), Wideband Code Division Multiple Access (WCDMA for short), Long Term Evolution (LTE for short), E-mail, Short Messaging Service (SMS for short), etc. .
  • GSM Global System of Mobile
  • GPRS General Packet Radio Service
  • Code Division Multiple Access Code Division Multiple Access
  • CDMA Code Division Multiple Access
  • WCDMA Wideband Code Division Multiple Access
  • LTE Long Term Evolution
  • E-mail Short Messaging Service
  • the memory 120 may be used to store software programs and modules.
  • the processor 180 executes various functional applications and data processing of the mobile phone 100 by running the software programs and modules stored in the memory 120.
  • the memory 120 may mainly include a storage program area and a storage data area, where the storage program area may store an operating system, an application program required for at least one function (such as a sound playback function, an image playback function, etc.), etc .; the storage data area may store data according to The mobile phone 100 uses the created data (such as audio data, phonebook, etc.).
  • the memory 120 may include a high-speed random access memory, and may further include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other volatile solid-state storage devices.
  • the other input devices 130 may be used to receive inputted numeric or character information, and generate key signal inputs related to user settings and function control of the mobile phone 100.
  • the other input devices 130 may include, but are not limited to, a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, an joystick, and a light mouse (a light mouse is a touch-sensitive device that does not display visual output Or one or more of a touch sensitive surface formed by a touch screen).
  • the other input devices 130 are connected to other input device controllers 171 of the I / O subsystem 170, and perform signal interaction with the processor 180 under the control of the other input device controllers 171.
  • the display screen 140 may be used to display information input by the user or information provided to the user and various menus of the mobile phone 100, and may also accept user input.
  • the display screen 140 may include a display panel 141 and a touch panel 142.
  • the display panel 141 may be configured with a liquid crystal display (Liquid Crystal Display, LCD for short), an organic light emitting diode (Organic Light-Emitting Diode, OLED for short), and the like.
  • Touch panel 142 also known as touch screen, touch-sensitive screen, etc., can collect the contact or non-contact operation of the user on or near it (for example, the user uses a finger, a stylus or any suitable object on the touch panel 142 or Operations near the touch panel 142 may also include somatosensory operations; the operations include single-point control operations, multi-point control operations, and other types of operations), and drive corresponding connection devices according to a preset program.
  • the touch panel 142 may include a touch detection device and a touch controller.
  • the touch detection device detects a user's touch orientation and posture, and detects signals brought by the touch operation, and transmits the signals to the touch controller; the touch controller receives touch information from the touch detection device and converts it into a processor capable of The processed information is then sent to the processor 180, which can receive commands from the processor 180 and execute them.
  • the touch panel 142 may be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave, and the touch panel 142 may also be implemented using any technology developed in the future.
  • the touch panel 142 may cover the display panel 141, and the user may display the display panel 141 (the display content includes, but is not limited to, a soft keyboard, a virtual mouse, virtual keys, icons, etc.) on the display panel 141 An operation is performed on or near the covered touch panel 142. After the touch panel 142 detects an operation on or near the touch panel 142, the touch panel 142 transmits the operation to the processor 180 through the I / O subsystem 170 to determine a user input. The inputs provide corresponding visual outputs on the display panel 141 through the I / O subsystem 170.
  • the touch panel 142 and the display panel 141 are implemented as two separate components to implement the input and output functions of the mobile phone 100, in some embodiments, the touch panel 142 and the display panel 141 may be integrated The input and output functions of the mobile phone 100 are realized.
  • the mobile phone 100 may further include at least one sensor 150, such as a light sensor, a motion sensor, and other sensors.
  • the light sensor may include an ambient light sensor and a proximity sensor.
  • the ambient light sensor can adjust the brightness of the display panel 141 according to the brightness of the ambient light.
  • the proximity sensor can turn off the display panel 141 and / or the backlight when the mobile phone 100 is moved to the ear.
  • the accelerometer sensor can detect the magnitude of acceleration in various directions (usually three axes), and can detect the magnitude and direction of gravity when it is stationary. It can be used for applications that recognize the attitude of mobile phones (such as horizontal and vertical screen switching, related Games, magnetometer attitude calibration), vibration recognition related functions (such as pedometer, tap), etc.
  • the mobile phone 100 may also be configured with other sensors such as a gyroscope, a barometer, a hygrometer, a thermometer, an infrared sensor, and the like, and details are not described herein again.
  • the audio circuit 160, the speaker 161, and the microphone 162 may provide an audio interface between the user and the mobile phone 100.
  • the audio circuit 160 may transmit the received converted signal of the audio data to the speaker 161, and the speaker 161 converts it into a sound signal for output.
  • the microphone 162 converts the collected sound signal into a signal, and the audio circuit 160 It is converted into audio data, and then the audio data is output to the RF circuit 110 for transmission to other devices (such as another mobile phone), or the audio data is output to the memory 120 for further processing.
  • the I / O subsystem 170 is used to control input and output external devices, and may include other input device controllers 171, sensor controllers 172, and display controllers 173.
  • one or more other input control device controllers 171 receive signals from and / or send signals to other input devices 130.
  • the other input devices 130 may include physical buttons (press buttons, rocker buttons, etc.) , Dial, slide switch, joystick, click wheel, light mouse. It is worth noting that other input device controllers 171 may be connected to any one or more of the above devices.
  • the display controller 173 in the I / O subsystem 170 receives signals from the display screen 140 and / or sends signals to the display screen 140.
  • the display controller 173 converts the detected user input into interaction with a user interface object displayed on the display screen 140, that is, realizes human-computer interaction.
  • the sensor controller 172 may receive signals from and / or send signals to one or more sensors 150.
  • the processor 180 is the control center of the mobile phone 100, and uses various interfaces and lines to connect various parts of the entire mobile phone. By running or executing software programs and / or modules stored in the memory 120, and calling data stored in the memory 120, Various functions and data processing of the mobile phone 100 are performed to perform overall monitoring of the mobile phone.
  • the processor 180 may include one or more processing units.
  • the processor 180 may integrate an application processor and a modem processor, wherein the application processor mainly processes an operating system, a user interface, and an application program, and the modem processor mainly processes wireless communications. It can be understood that the foregoing modem processor may not be integrated into the processor 180.
  • the mobile phone 100 also includes a power source 190 (such as a battery) to power various components.
  • a power source 190 such as a battery
  • the power supply may be logically connected to the processor 180 through a power management system, so as to implement functions such as managing charging, discharging, and power consumption through the power management system.
  • the mobile phone 100 may further include a camera, a Bluetooth module, and the like, and details are not described herein again.
  • FIG 2 shows a schematic diagram of the Android system architecture.
  • the Android system uses a layered architecture, from highest to lowest: the application layer (hereinafter referred to as the APP (Application) layer), and the application framework layer (hereinafter referred to as the Framework layer). ) And the Linux kernel (kernel) layer (hereinafter referred to as the kernel layer).
  • the application layer hereinafter referred to as the APP (Application) layer
  • the Framework layer application framework layer
  • kernel layer the Linux kernel layer
  • the APP layer may include one or more applications (for example, a text message, a contact, a browser, etc.).
  • the Framework layer includes a System Interface (SystemUI), a SystemServer, and a Native process.
  • SystemUI is a desktop application that can display a list of notifications.
  • SystemServer is an Android system process that manages all Android applications.
  • the Native process is used to connect the kernel layer and the Framework layer.
  • SystemServer may include multiple system services such as ActivityManagerService, NotificationManagerService, BatteryStatsService, StorageStatsService, StorageManagerService, and UserManagerService.
  • ActivityManagerService is used to manage all interfaces of the Android application, or to manage all activities (Activity).
  • NotificationManagerService is used to manage notifications.
  • BatteryStatsService is used to manage system power (for example, counting system power).
  • StorageManagerService is used to manage storage devices.
  • UserManagerService is used to manage user information.
  • the Native process may include a disk management daemon (Volume, Daemon, referred to as Vold), and Vold can save the current unlocked state of the terminal's file system.
  • Vold disk management daemon
  • an application can use components of other applications.
  • the components of the Android system include Activity and Service.
  • An Activity is usually presented as a visual user interface.
  • Service has no user interface, but it will always run in the background. For example, the Service may play background music while the user is processing other things, or obtain data from the network, or perform some calculations and provide the operation results to the Activity to display to the user.
  • An embodiment of the present application provides a terminal restart method. As shown in FIG. 3, the method includes:
  • the terminal keeps the target unlock state of the file system of the terminal, and the target unlock state is the current unlock state.
  • the current unlocking state may be an unlocked state (or called an authenticated state) or an unlocked state (or an unauthenticated state), and different unlocking states of the file system of the terminal correspond to different unlocking modes of the terminal.
  • the unlocked state corresponds to the digital unlocking mode, that is, when the file system of the terminal is in the unlocked state, the user can only unlock the terminal through the digital unlocking mode.
  • the unlocked state corresponds to all unlocking methods, such as digital unlocking, fingerprint unlocking, face unlocking, pupil unlocking, pattern unlocking, etc. That is, when the file system of the terminal is unlocked, the user can unlock the terminal by any one of the unlocking methods.
  • the unlocked state of the terminal's file system can be stored in Vold.
  • the terminal restarts a Framework layer of the terminal.
  • Restarting the Framework layer of the terminal includes restarting the SystemServer and SystemUI in the Framework layer. It can also include restarting one or more types or all types of Native processes in the Framework layer. It can also include restarting some or all processes that depend on the SystemServer state.
  • the process in the SystemServer state may refer to a process that needs to determine whether to restart according to the SystemServer state.
  • Native process types include: hal type, core type, main type, late_start type. It should be noted that the restart of one type of Native process may not be restarted until some other type of Native is restarted. For example, the restart of a Native process of core type needs to be restarted after the Native process of hal type is restarted.
  • the terminal After the terminal restarts the framework layer of the terminal, it can improve the terminal application and system process expansion and aging issues, improve mobile phone performance, and improve user experience.
  • step 302 since the current unlock state of the file system of the terminal is in Vold, and the terminal retains the current unlock state of the file system of the terminal, the terminal does not restart Vold during the process of restarting the Framework layer of the terminal.
  • the terminal queries an unlock state of a file system of the terminal.
  • the SystemUI may query the unlock status of the file system of the terminal.
  • the terminal sets an unlocking method of the terminal to an unlocking method corresponding to the unlocked state inquired.
  • the SystemUI may restore the terminal's unlocking method on the terminal according to the current unlocking state of the file system, that is, set the unlocking method of the terminal to the unlocking method corresponding to the unlocked state queried.
  • Steps 303 and 304 may be performed during the restart of the system_server process.
  • the terminal before the terminal restarts the framework layer of the terminal, the terminal can retain the current unlocked state of the file system of the terminal, so that after restarting the framework layer of the terminal, the user can still use the framework of the restarted terminal. Unlocking the terminal in the unlocking mode before the layer will not allow the user to perceive the restart of the framework layer of the terminal through the unlocking method, improving the user experience.
  • the above method further includes: 11) the terminal saves target application information, where the target application information is information related to an application currently running on the terminal; then after step 302, the above method It further includes: 12) The terminal restores the target application information on the terminal according to the saved target application information. Step 12) may be performed after step 304.
  • the applications currently running on the terminal may include foreground applications and / or background applications.
  • the target application information includes at least one of a current notification list, current application data of a foreground application, and an identifier of at least one current background application.
  • the notification list includes information for at least one notification.
  • the information of the notification includes: the creation time of the notification, the package information of the notification, the icon information corresponding to the notification, the notification's pending intent (PendingIntent), the title text of the notification, the notification light notification information, and the notification sound notification Information, etc.
  • the application data of the foreground application is all Activities related to the foreground application in the stack corresponding to the foreground application.
  • the at least one current background application may be one or more of all current background applications identified as background applications that need to be saved before the Framework layer restarts.
  • a background application identified as being to be saved before restarting the Framework layer may be an important application.
  • the target application information can be saved in a file, for example, in an eXtensible Markup Language (XML) file, or it can be saved in a database.
  • the target application information is converted into a binary byte stream and stored in the database. in.
  • the method provided in the embodiment of the present application is exemplarily described by taking target application information stored in a database as an example.
  • the database in the embodiment of the present application may be a Sqlite database.
  • This optional method can make the user unable to sense the restart of the Framework layer of the terminal according to the target application information, and improve the user experience.
  • NotificationManagerService can obtain the notification list in the internal storage and save it to the database.
  • step 12) includes in specific implementation: 21) the terminal obtains information of each notification in the notification list according to the saved notification list; 22) the terminal is in order from time to time All the notifications in the notification list are sequentially restored on the terminal in order.
  • ActivityManagerService is responsible for recording Activity-related information and maintenance of the Activity stack, and will also update the most recent task list (Recent Applications). Therefore, the actions of obtaining and saving application data of the current foreground application can be performed by the ActivityManagerService in the terminal.
  • the ActivityManagerService records the Activity stack to which the currently running Activity belongs, the Activity corresponding to the current interface of the current application is located at the top of the Activity stack, and each Activity in the Activity stack contains the identity of the application corresponding to the Activity. Therefore, the ActivityManagerService can determine the current application according to the Activity at the top of the stack of the Activity stack to which the currently running Activity belongs, and determine the Activity related to the current application in the Activity stack (that is, the Activity containing the identity of the current application) according to the Current application. When multiple activities are stored, multiple activities can be stored in order to facilitate subsequent restoration of multiple activities on the terminal.
  • step 12) in specific implementation may include: 31) the terminal obtains all the saved activities; 32) the terminal obtains all the activities in the stack according to the obtained positions of the activities in the terminal And starting all the activities; wherein, the lower-level activity in the all activities is started sooner.
  • the terminal does not update the latest task list during the process of starting all the activities according to the positions of all the activities in the stack.
  • FIG. 4 illustrates a process of saving and restoring application data of a current foreground application on a terminal.
  • the saving process specifically includes: sequentially writing the activities corresponding to the foreground application in the Activity stack to which the currently running Activity belongs to a database.
  • the process of recovering on the terminal includes: 401, sequentially reading the activities corresponding to the foreground application in the database (that is, all the above-mentioned Activities); 402, reversing the activities corresponding to the foreground application on the terminal to the corresponding Activity stack; 403. Start the activities corresponding to the foreground applications in sequence, and do not update the recent task list.
  • ActivityManagerService can obtain the ID of at least one background application in the internal storage and save it to the database.
  • step 12) includes in the specific implementation: the terminal obtains the saved identifier of the at least one background application; and the terminal starts the terminal on the terminal according to the obtained identifier of the at least one background application. At least one background application.
  • the application 1, application 5, and application 8 may be identified as background applications that need to be saved before restarting the framework layer.
  • the identities of application 1 and application 5 can be saved. After step 302, according to the saved application 1, And the identity of application 5 starts application 1 and application 5.
  • the terminal may also save the current power consumption ranking information of the terminal.
  • the terminal restores the power consumption ranking on the terminal according to the saved power consumption ranking information. This process can be performed specifically by BatteryStatsService.
  • the power consumption ranking information may be ranking information of hardware and / or software power consumption information in the terminal.
  • the method further includes: the terminal determining that the terminal is in an idle state.
  • the idle state can be a custom state or the idle state of a terminal with the Android system installed.
  • the idle state may be a customized state, for example, the idle state may be: the screen of the terminal is in the screen-off state for more than a preset period of time (for example, 30 minutes).
  • the method further includes: the terminal closing the second screen animation in the startup animation of the terminal.
  • the Android terminal when the Android terminal is powered on, there will be a first screen animation and a second screen animation.
  • the first screen animation is generally a boot-up animation without personalization, which includes information about the operating system of the terminal
  • the second screen animation is generally a boot-up animation with manufacturer's personalization added by the manufacturer of the terminal.
  • the above method may further include: the terminal stores user information of the terminal. This process can be performed specifically by UserManagerService.
  • the user information of the terminal may be the identity of the user.
  • the methods described in the above embodiments may be directed to the user.
  • the unlocking status of the file system of the user who has unlocked the corresponding file system is retained, and after the restart of the Framework layer, each user of the terminal is unlocked.
  • the mode is set to the unlock mode corresponding to the unlock state corresponding to each user.
  • the target application information includes application data of a current foreground application and / or the current notification list.
  • the terminal stores a first byte stream into a database, where the first byte stream is the Bitmap object or is compressed (for example, a compression method of png, the Bitmap object after the compression method of jpg); and / or, if the target application information includes a PendingIntent object, the terminal stores a second byte stream into the database, where the second byte stream is A byte stream obtained by serializing the information in the ActivityManagerService corresponding to the remote interface call (IBinder) object in the PendingIntent object.
  • the first byte stream is the Bitmap object or is compressed (for example, a compression method of png, the Bitmap object after the compression method of jpg); and / or, if the target application information includes a PendingIntent object, the terminal stores a second byte stream into the database, where the second byte stream is A byte stream obtained by serializing the information in the ActivityManagerService corresponding to the remote interface call (IBinder) object in the PendingIntent object.
  • the IBinder object of the remote procedure call in the PendingIntent object can be IIntentSender.
  • the information in the ActivityManagerService corresponding to the IBinder object of the remote procedure call in the PendingIntent object can be the information in the PendingIntentRecord.
  • the saving process may further include: if the target application information includes a Bitmap object, the terminal stores a first hash value calculated according to the first byte stream into the database, and the first The hash value is used to checksum and / or deduplicate the first byte stream; and / or, if the target application information includes a PendingIntent object, the terminal will calculate according to the second byte stream The obtained second hash value is stored in the database, and the second hash value is used to checksum and / or deduplicate the second byte stream.
  • the algorithm used to calculate the hash value may be Message-Digest Algorithm 5 (MD5 for short), Secure Hash Algorithm (SHA) for short.
  • MD5 Message-Digest Algorithm 5
  • SHA Secure Hash Algorithm
  • the security of the first byte stream can be improved, and deduplication of the first byte stream by the first hash value can save database data. storage.
  • the security of the second byte stream can be improved, and the second byte stream can be deduplicated by the second hash value, which can save the database. Storage space.
  • the method may further include: if the target application information includes a Bitmap object, the terminal writes the first hash value into a parcel, and / or, if the target application information includes A PendingIntent object, the terminal writes the second hash value to the Parcel.
  • the target application information may also include non-Bitmap objects and non-PendingIntent objects.
  • the terminal may store non-Bitmap objects and non-PendingIntent objects in Parcel, and then serialize Parcel and store it in the database. It should be noted that when storing non-Bitmap objects and non-PendingIntent objects, the hash values calculated according to the non-Bitmap objects and non-PendingIntent objects can also be stored in the database to verify the non-Bitmap objects and non-PendingIntent objects. .
  • Parcel is part of the database.
  • the first byte stream can be indexed. Therefore, compared with non-Bitmap objects and non-PendingIntent objects, the entire first byte does not need to be Streams are written to parcel, saving parcel space.
  • the second hash value you can index the second byte stream. Therefore, compared with non-Bitmap objects and non-PendingIntent objects, you do not need to write the entire second byte stream to parcel. To save parcel space.
  • the terminal obtains the parcel in a database, and obtains the first byte stream in the database according to the obtained first hash value in the parcel, and the terminal verifies the parity
  • the first byte stream is deserialized to obtain the bitmap object; and / or, the terminal obtains the package in a database, and according to the obtained second hash value in the package, the terminal
  • the database obtains the second byte stream, and the terminal deserializes the second byte stream to obtain an activity manager service corresponding to a basic interface object of a remote procedure call in the to-be-triggered intent object Information, the intent object to be triggered is determined according to the information in the activity manager service; 42) the terminal restores the target on the terminal according to the bitmap object and / or the intent object to be triggered Application information.
  • the terminal restores target application information on the terminal according to the bitmap object. If in step 41), the terminal obtains the object to be triggered, and in step 42), the terminal restores target application information on the terminal according to the object to be triggered. If in step 41), the terminal obtains the bitmap object and the target object to be triggered, in step 42), the terminal restores the target application information on the terminal according to the bitmap object and the target object to be triggered.
  • the terminal can obtain the second byte stream from the database, deserialize the second byte stream to obtain the information in the ActivityManagerService, and determine the IBinder object called by the remote procedure based on this information.
  • the IBinder object of the remote procedure call constructs a PendingIntent.
  • FIG. 5 illustrates a process of saving and acquiring target application information.
  • the saving process may specifically include: 501a, storing non-Bitmap objects and non-PendingIntent objects in the target application information into a database; 502a, determining whether the target application information includes a Bitmap object, and if yes, performing step 503a, and if not, performing step 504a 503a, store the Bitmap object in the target application information into the database; 504a, determine whether the target application information contains a PendingIntent object, and if yes, execute step 505a, if not, end; 505a, store the PendingIntent object in the target application information In the database.
  • the obtaining process may specifically include: 501b, deserializing a byte stream corresponding to a non-Bitmap object and a non-PendingIntent object in the database to obtain a non-Bitmap object and a non-PendingIntent object in the target application information; 502b, determining whether the target application information includes a Bitmap If yes, go to step 503b, if no, go to step 504b; 503b, get the Bitmap object in the target application information from the database; 504b, determine whether the target application information contains a PendingIntent object; if yes, go to step 505b, if not, End; 505b. Obtain the PendingIntent object in the target application information from the database.
  • one notification corresponds to one notification identifier
  • one Activity corresponds to one Activity identifier.
  • Step 21) if the terminal needs to obtain the notification list, it can obtain the data corresponding to the notification identifier (including the first hash value) in parcel according to the notification identifier, and obtain the notification corresponding to the notification identifier from the database according to the data. Information. If the terminal needs to obtain an Activity, the terminal may obtain data corresponding to the Activity (including the second hash value) in Parcel according to the Activity identifier, and obtain the Activity corresponding to the Activity identifier from the database according to the data.
  • the terminal restart device includes a hardware structure and / or a software module corresponding to each function.
  • this application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is performed by hardware or computer software-driven hardware depends on the specific application of the technical solution and design constraints. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
  • each functional unit may be divided corresponding to each function, or two or more functions may be integrated into one processing unit.
  • the above integrated unit may be implemented in the form of hardware or in the form of software functional unit. It should be noted that the division of the units in the embodiments of the present application is schematic, and is only a logical function division. There may be another division manner in actual implementation.
  • the terminal restarting device 60 may include:
  • a retaining unit 601 configured to retain a target unlock state of a file system of the terminal restart device, and the target unlock state is a current unlock state;
  • a query unit 603, configured to query the unlock state of the file system of the terminal restart device
  • the setting unit 604 is configured to set an unlocking mode of the terminal restarting device to an unlocking mode corresponding to the queryed unlocking state.
  • the terminal restarting device further includes:
  • a saving unit 605, configured to save target application information, where the target application information is information related to an application currently running on the terminal restart device;
  • the restoration unit 606 is configured to restore the target application information on the terminal restarting device according to the saved target application information.
  • the target application information includes at least one of a current notification list, current application data of a foreground application, and an identifier of at least one current background application.
  • the target application information includes application data of the current foreground application, and the application data of the foreground application is all activities related to the foreground application in the stack corresponding to the foreground application.
  • the restoration unit 606 is specifically configured to obtain all saved activities, and start all activities on the terminal restart device according to the positions of all the obtained activities in the stack; among all the activities, the lower-level The sooner the event is launched.
  • the target application information includes the current notification list
  • the recovery unit 606 is specifically configured to obtain information of each notification in the notification list according to the saved notification list, and restart the device in the terminal in order from time to time Resume all notifications in the notification list.
  • the target application information includes application data of the current foreground application and / or the current notification list
  • the saving unit 605 is specifically configured to: if the target application information includes a bitmap object, store the first byte stream into the database , The first byte stream is a bitmap object or a compressed bitmap object; and / or, if the target application information includes an object to be triggered, the second byte stream is stored in the database, and the second byte stream is treated as The byte stream obtained by serializing the information in the activity manager service corresponding to the basic interface object that triggered the remote procedure call in the intent object.
  • the saving unit 605 is further configured to: if the target application information includes a bitmap object, store a first hash value calculated according to the first byte stream into a database, and the first hash value is used for One byte stream for checksum and / or deduplication; and / or, if the target application information includes the intent object to be triggered, the second hash value calculated according to the second byte stream is stored in the database, and the second Ukraine The Greek value is used to checksum and / or deduplicate the second byte stream.
  • the terminal restarting apparatus further includes: a writing unit 607, configured to write a first hash value into the package when the target application information includes a bitmap object, and / or, in the target application information When the intent object to be triggered is included, a second hash value is written into the parcel.
  • a writing unit 607 configured to write a first hash value into the package when the target application information includes a bitmap object, and / or, in the target application information When the intent object to be triggered is included, a second hash value is written into the parcel.
  • the recovery unit 606 is specifically configured to:
  • Obtain a package in the database and obtain the first byte stream in the database according to the first hash value in the obtained package, and deserialize the first byte stream to obtain a bitmap object; and / or, in the database
  • To obtain the package and obtain the second byte stream in the database according to the second hash value in the obtained package, and deserialize the second byte stream to obtain the basic interface of the remote procedure call in the intent object to be triggered
  • the information in the activity manager service corresponding to the object, and the intent object to be triggered is determined according to the information in the activity manager service;
  • the target application information is restored on the terminal according to the bitmap object and / or the intent object to be triggered.
  • the target application information includes an identifier of the current at least one background application
  • the recovery unit 606 is specifically configured to: obtain the saved identifier of the at least one background application and restart the device on the terminal according to the acquired identifier of the at least one background application. Launch at least one background application.
  • the terminal restarting device further includes: a determining unit 608, configured to determine that the terminal restarting device is in an idle state.
  • the terminal restart device further includes a shutdown unit 609 configured to close a second screen animation in a boot animation of the terminal restart device.
  • terminal restarting device 60 Since the terminal restarting device 60 is used to execute the foregoing method, for the beneficial effects of the terminal restarting device 60, refer to the beneficial effects of the foregoing method, and details are not described herein again.
  • the present application may improve an existing terminal.
  • the improvements include:
  • a system context retention module is added to retain the system context.
  • the system context includes the target unlock state of the terminal's file system.
  • the system context preservation module can be located in SystemServer.
  • the restart execution module can be located in the kernel layer.
  • An unlocking state synchronization module is added to query the unlocking state of the file system of the terminal and set the unlocking mode of the terminal to the unlocking mode corresponding to the found unlocking state.
  • the unlock status synchronization module may be located in the SystemUI.
  • the improvement further includes: adding a user context saving and restoring module for saving and restoring target application information.
  • the user context save and restore module can be located in SystemServer.
  • the improvement further includes: adding a non-perceived scene determination module for determining a non-perceived scene, that is, for determining that the terminal is in an idle state.
  • the non-aware scene determination module may be located in the SystemServer.
  • the improvement further includes: a modified animation (Anim) startup control module for closing the second screen animation in the startup animation.
  • Anim boot control module can be located in SystemServer.
  • the improvement further includes: adding a restart mode control module, and the restart mode control module includes multiple restart modes.
  • Different restart methods are used to restart different modules in the Framework layer.
  • the restart methods may be used to indicate which Native processes are restarted and the startup sequence of the Native processes when the Native processes in the Framework layer are restarted.
  • the restart mode control module can be included in the kernel layer.
  • the specific implementation process of the method provided in the embodiment of the present application may be: when the non-perceived scene determination module determines that the terminal is in an non-perceived scene, the first instruction information is sent to the system context retention module and the user context preservation and recovery module.
  • An instruction information is used to indicate that the terminal is currently in a non-aware scenario.
  • the system context retention module retains the target unlock state of the file system of the terminal according to the first instruction information, and the user context preservation and restoration module saves the target application information and the user's ID; the system context preservation module and the user context preservation and recovery module send second instruction information to the Anim startup control module.
  • the second instruction information sent by the system context retention module is used to indicate that the system context preservation is completed.
  • the second instruction information is used to indicate that the user context saving is completed.
  • Anim starts the control module to close the second screen animation in the boot animation according to the second instruction information; the system context preservation module and the user context preservation and recovery module send to the kernel.
  • the restart execution module in the init process in the layer sends the second instruction information, and the restart execution module obtains the restart mode in the restart mode control module according to the second instruction information, and restarts the Framework layer of the terminal according to the restart mode; the restart execution module unlocks the
  • the status synchronization module and the user context saving and recovery module send third instruction information, the third instruction information is used to indicate completion of the restart, and the unlock status synchronization module queries the unlock status of the file system of the terminal and sets the unlock mode of the terminal according to the third instruction information.
  • the unlocking mode corresponding to the unlocked state inquired; the user context saving and restoring module restores the target application information of the terminal according to the third instruction information.
  • the processing unit may be a processor or a controller.
  • the storage unit may be a memory.
  • the actions performed by the foregoing functional units may be executed by the processor according to a program stored in the memory.
  • the processor may be the processor 180 and the memory may be the memory 120.
  • An embodiment of the present application further provides a computer-readable storage medium including instructions, which, when run on a computer, cause the computer to execute the foregoing method.
  • An embodiment of the present application further provides a computer program product containing instructions, which when executed on a computer, causes the computer to execute the foregoing method.
  • the above embodiments it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • a software program it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions.
  • the computer program instructions When the computer program instructions are loaded and executed on a computer, the processes or functions according to the embodiments of the present application are wholly or partially generated.
  • the computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server, or data center via a wired (for example, Coaxial cable, optical fiber, digital subscriber line (DSL), or wireless (such as infrared, wireless, microwave, etc.) for transmission to another website site, computer, server, or data center.
  • a computer-readable storage medium may be any available media that can be accessed by a computer or a data storage device containing one or more servers, data centers, and the like that can be integrated with the media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (solid state disk (SSD)), and the like.
  • a magnetic medium for example, a floppy disk, a hard disk, a magnetic tape
  • an optical medium for example, a DVD
  • a semiconductor medium for example, a solid state disk (solid state disk (SSD)

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

本申请公开了一种终端重启方法及装置,用于解决重启终端的Framework层后用户需要输入密码,从而使得用户感知到终端的重启操作的问题。该方法包括:终端保留终端的文件系统的目标解锁状态,目标解锁状态为当前的解锁状态;终端重启终端的框架层;终端查询终端的文件系统的解锁状态;终端将终端的解锁方式设置为查询到的解锁状态对应的解锁方式。本申请涉及终端技术领域。

Description

一种终端重启方法及装置
本申请要求于2018年07月18日提交国家知识产权局、申请号为201810792937.5、申请名称为“一种终端重启方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及终端技术领域,尤其涉及一种终端重启方法及装置。
背景技术
安卓(Android)系统是一款跨平台的开源操作系统,已被广泛应用于手机、平板电脑、可穿戴设备、电视等设备上。但是随着Android系统的大量使用,其劣势也慢慢的体现出来,最令人诟病的就是Android系统使用时间长后,引起卡顿,手机性能下降,用户体验差等问题。为了解决Android系统越用越慢的问题,Android系统可以基于框架(Framework)层进行重启,基于Framework层重启的方法,可以解决应用、系统进程的膨胀老化问题,但是重启Framework层后用户需要输入密码,会使得用户感知到终端的重启操作。
发明内容
本申请实施例提供了一种终端重启方法及装置,用于解决重启终端的Framework层后用户需要输入密码,从而使得用户感知到终端的重启操作的问题。
第一方面,提供了一种终端重启方法,包括:终端保留终端的文件系统的目标解锁状态,目标解锁状态为当前的解锁状态;终端重启终端的框架层;终端查询终端的文件系统的解锁状态;终端将终端的解锁方式设置为查询到的解锁状态对应的解锁方式。第一方面提供的方法,在终端重启终端的Framework层之前,终端可以保留终端的文件系统的当前的解锁状态,从而使得在重启终端的Framework层之后,用户仍然可以采用重启终端的Framework层之前的解锁方式解锁终端,不会使得用户通过解锁方式感知到终端的Framework层的重启,提升用户的体验。
在一种可能的设计中,在终端重启终端的框架层之前,终端重启方法还包括:终端保存目标应用信息,目标应用信息为与终端当前运行的应用相关的信息;在终端重启终端的框架层之后,终端重启方法还包括:终端根据保存的目标应用信息在终端上恢复目标应用信息。该种可能的实现方式,能够使得用户无法根据目标应用信息感知到终端的Framework层的重启,提升用户的体验。
在一种可能的设计中,目标应用信息包括当前的通知列表、当前的前台应用的应用数据、当前的至少一个后台应用的标识中的至少一个。该种可能的实现方式,提供了多种目标应用信息,为目标应用信息的选择提供了多种可能性。
在一种可能的设计中,目标应用信息包括当前的前台应用的应用数据,前台应用的应用数据为前台应用对应的堆栈中的与前台应用相关的全部活动。
在一种可能的设计中,终端根据保存的目标应用信息在终端上恢复目标应用信息,包括:终端获取保存的全部活动;终端根据获取的全部活动在堆栈中的位置在终端上启动全部活动;其中,全部活动中的位于堆栈中的越底层的活动越早被启动。该种可 能的实现方式,终端可以恢复当前的前台应用的应用数据,从而使得用户无法根据前台应用感知到终端的Framework层的重启,提升用户的体验。
在一种可能的设计中,目标应用信息包括当前的通知列表,终端根据保存的目标应用信息在终端上恢复目标应用信息,包括:终端根据保存的通知列表获取通知列表中的每个通知的信息;终端按照时间由先至后的顺序依次在终端上恢复通知列表中的全部通知。该种可能的实现方式,终端可以恢复通知列表,从而使得用户无法根据通知列表感知到终端的Framework层的重启,提升用户的体验。
在一种可能的设计中,目标应用信息包括当前的前台应用的应用数据和/或当前的通知列表,终端保存目标应用信息,包括:若目标应用信息中包括位图对象,终端将第一字节流存储进数据库,第一字节流为位图对象或压缩后的位图对象;和/或,若目标应用信息中包括待触发意图对象,终端将第二字节流存储进数据库,第二字节流为对待触发意图对象中的远程过程调用的基本接口对象对应的活动管理器服务中的信息进行序列化得到的字节流。该种可能的实现方式,将位图对象对应的第一字节流存储在数据库中,提高了位图对象存储的安全性(现有技术中是将位图对象在文件中存储成图片,安全性不高)。并且,该种可能的实现方式,还提供了一种待触发意图对象存储的方法。
应用数据可能包含位图和待触发意图中的任意一个或多个,通知列表也是同样的。
在一种可能的设计中,终端重启方法还包括:若目标应用信息中包括位图对象,终端将根据第一字节流计算得到的第一哈希值存储进数据库,第一哈希值用于对第一字节流进行校验和/或去重;和/或,若目标应用信息中包括待触发意图对象,终端将根据第二字节流计算得到的第二哈希值存储进数据库,第二哈希值用于对第二字节流进行校验和/或去重。该种可能的实现方式,通过采用第一哈希值对第一字节流进行校验,可以提高第一字节流的安全性,通过第一哈希值对第一字节流进行去重,可以节约数据库的存储空间。相应的,通过采用第二哈希值对第二字节流进行校验,可以提高第二字节流的安全性,通过第二哈希值对第二字节流进行去重,可以节约数据库的存储空间。
在一种可能的设计中,终端重启方法还包括:若目标应用信息中包括位图对象,终端将第一哈希值写入包裹,和/或,若目标应用信息中包括待触发意图对象,终端将第二哈希值写入包裹。该种可能的实现方式,不需要将整个第一字节流和/或第二字节流写到parcel中,节约parcel的空间。
在一种可能的设计中,终端根据保存的目标应用信息在终端上恢复目标应用信息,包括:终端在数据库中获取包裹,并根据获取到的包裹中的第一哈希值在数据库中获取第一字节流,终端对第一字节流进行反序列化得到位图对象;和/或,终端在数据库中获取包裹,并根据获取到的包裹中的第二哈希值在数据库中获取第二字节流,终端对第二字节流进行反序列化得到待触发意图对象中的远程过程调用的基本接口对象对应的活动管理器服务中的信息,根据活动管理器服务中的信息确定待触发意图对象;终端根据位图对象和/或待触发意图对象在终端上恢复目标应用信息。该种可能的实现方式,终端可以从数据库中获取位图对象和/或待触发意图对象,以便在终端上恢复目标应用信息。
在一种可能的设计中,目标应用信息包括当前的至少一个后台应用的标识,终端根据保存的目标应用信息在终端上恢复目标应用信息,包括:终端获取保存的至少一个后台应用的标识;终端根据获取的至少一个后台应用的标识在终端上启动至少一个后台应用。该种可能的实现方式,可以在重启终端的Framework层之后,将部分用户觉得重要的后台应用进行启动,满足用户的需求。
在一种可能的设计中,在终端重启终端的框架层之前,终端重启方法还包括:终端确定终端处于空闲状态。该种可能的实现方式,可以在终端处于空闲状态时重启终端的Framework层,避免用户感知到Framework层的重启,提升用户体验。
在一种可能的设计中,在终端重启终端的框架层之前,终端重启方法还包括:终端关闭终端的开机动画中的第二屏动画。其中,第二屏动画为终端的厂家添加的具有厂家个性化的开机动画。该种可能的实现方式,能够使得用户无法根据第二屏动画感知到终端的Framework层的重启,提升用户体验。
第二方面,提供了一种终端重启装置,该装置具有实现第一方面提供的任意一种方法的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的单元。该装置可以以芯片的产品形态存在。该终端重启装置具体可以是终端,也可以是设置在终端上固定的或可移除的功能模块。
第三方面,提供了一种终端重启装置,该装置包括:存储器、处理器;存储器用于存储计算机执行指令,处理器,处理器用于执行存储器存储的计算机执行指令,以使得该装置执行第一方面提供的任意一种方法。该终端重启装置具体可以是终端,也可以是设置在终端上固定的或可移除的功能模块。
第四方面,提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行第一方面提供的任意一种方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面提供的任意一种方法。
第二方面至第五方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种手机的硬件组成示意图;
图2为本申请实施例提供的一种Android系统的架构示意图;
图3为本申请实施例提供的一种终端重启方法的流程图;
图4为本申请实施例提供的一种数据的保存和在终端上恢复的流程图;
图5为本申请实施例提供的又一种数据的保存和在终端上恢复的流程图;
图6-图8分别为本申请实施例提供的一种终端重启装置的组成示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这 三种情况。在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
本申请实施例提供的方法可以应用于终端中。终端也可以称为用户设备(User Equipment,简称UE)、移动设备、终端设备等。示例性的,终端可以为手机、平板电脑、车载设备、可穿戴设备、电视等。终端上可以安装有Android系统或其他操作系统。本申请实施例中以提供的方法应用于安装有Android系统的终端中为例对本申请实施例提供的方法作示例性说明。
以终端为手机为例,图1示出的是与本申请实施例相关的手机100的部分结构的框图。参考图1,手机100包括、射频(Radio Frequency,简称RF)电路110、存储器120、其他输入设备130、显示屏140、传感器150、音频电路160、I/O子系统170、处理器180、以及电源190等部件。本领域技术人员可以理解,图1中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。本领域技术人员可以理解显示屏140属于用户界面(User Interface,简称UI),且手机100可以包括比图示更多或更少的用户界面。
下面结合图1对手机100的各个构成部件进行具体的介绍:
RF电路110可用于收发信息或通话过程中,信号的接收和发送。特别地,将基站的下行信息接收后,给处理器180处理,将上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,简称LNA)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,简称GSM)、通用分组无线服务(General Packet Radio Service,简称GPRS)、码分多址(Code Division Multiple Access,简称CDMA)、宽带码分多址(Wideband Code Division Multiple Access,简称WCDMA)、长期演进(Long Term Evolution,简称LTE)、电子邮件、短消息服务(Short Messaging Service,简称SMS)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行手机100的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机100的使用所创建的数据(比如音频数据、电话本等)。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其他输入设备130可用于接收输入的数字或字符信息,以及产生与手机100的用户设置以及功能控制有关的键信号输入。具体地,其他输入设备130可包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆、光鼠(光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸)等中的一种或多种。其他输入设备130与I/O子系统170的其他输入设备控制 器171相连接,在其他输入设备控制器171的控制下与处理器180进行信号交互。
显示屏140可用于显示由用户输入的信息或提供给用户的信息以及手机100的各种菜单,还可以接受用户输入。具体的,显示屏140可包括显示面板141,以及触控面板142。其中,显示面板141可以采用液晶显示器(Liquid Crystal Display,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称OLED)等形式来配置显示面板141。触控面板142,也称为触摸屏、触敏屏等,可收集用户在其上或附近的接触或非接触操作(比如用户使用手指、触笔等任何适合的物体在触控面板142上或在触控面板142附近的操作,也可以包括体感操作;该操作包括单点控制操作、多点控制操作等操作类型),并根据预先设定的程式驱动相应的连接装置。可选地,触控面板142可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位、姿势,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成处理器能够处理的信息,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板142,也可以采用未来发展的任何技术实现触控面板142。进一步的,触控面板142可覆盖显示面板141,用户可以根据显示面板141显示的内容(该显示内容包括但不限于,软键盘、虚拟鼠标、虚拟按键、图标等等),在显示面板141上覆盖的触控面板142上或附近进行操作,触控面板142检测到在其上或附近的操作后,通过I/O子系统170传送给处理器180以确定用户输入,随后处理器180根据用户输入通过I/O子系统170在显示面板141上提供相应的视觉输出。虽然在图1中,触控面板142与显示面板141是作为两个独立的部件来实现手机100的输入和输出功能,但是在某些实施例中,可以将触控面板142与显示面板141集成而实现手机100的输入和输出功能。
手机100还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器。其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在手机100移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等。手机100还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161和麦克风162可提供用户与手机100之间的音频接口。音频电路160可将接收到的音频数据转换后的信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,麦克风162将收集的声音信号转换为信号,由音频电路160接收后转换为音频数据,再将音频数据输出至RF电路110以发送给其他设备(比如另一手机),或者将音频数据输出至存储器120以便进一步处理。
I/O子系统170用来控制输入输出的外部设备,可以包括其他输入设备控制器171、传感器控制器172、显示控制器173。可选地,一个或多个其他输入控制设备控制器171从其他输入设备130接收信号和/或向其他输入设备130发送信号,其他输入设备130可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点 击滚轮、光鼠。值得说明的是,其他输入设备控制器171可以与任一个或多个上述设备连接。所述I/O子系统170中的显示控制器173从显示屏140接收信号和/或向显示屏140发送信号。显示屏140检测到用户输入后,显示控制器173将检测到的用户输入转换为与显示在显示屏140上的用户界面对象的交互,即实现人机交互。传感器控制器172可以从一个或多个传感器150接收信号和/或向一个或多个传感器150发送信号。
处理器180是手机100的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行手机100的各种功能和数据处理,从而对手机进行整体监控。可选地,处理器180可包括一个或多个处理单元。优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
手机100还包括给各个部件供电的电源190(比如电池)。优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
尽管未示出,手机100还可以包括摄像头、蓝牙模块等,在此不再赘述。
图2示出了Android系统的架构示意图,Android系统采用了分层的架构,由高至低依次为:应用程序层(以下简称APP(即Application)层)、应用程序框架层(以下简称Framework层)和Linux内核(kernel)层(以下简称内核层)。
其中,APP层中可以包括一个或多个应用程序(例如,短信、联系人、浏览器等)。
Framework层包括系统界面(System User Interface,简称SystemUI)、系统服务器(SystemServer)和本地化(Native)进程。SystemUI为桌面应用,可以显示通知列表。SystemServer为Android系统进程,管理所有的Android应用。Native进程用于连接内核层和Framework层。
SystemServer中可以包括活动管理器服务(ActivityManagerService)、通知管理器服务(NotificationManagerService)、电池统计服务(BatteryStatsService)、存储管理器服务(StorageManagerService)、用户管理器服务(UserManagerService)等多个系统服务。
其中,ActivityManagerService用于管理Android应用所有界面,或者说是管理所有的活动(Activity)。NotificationManagerService用于管理通知。BatteryStatsService用于管理系统电量(例如,统计系统电量)。StorageManagerService用于管理存储设备。UserManagerService用于管理用户信息。
Native进程中可以包括磁盘管理守护进程(Volume Daemon,简称Vold),Vold能够保存终端的文件系统的当前解锁状态。
在Android系统中,一个应用程序可以使用其他应用程序的组件。Android系统的组件包括Activity和服务(Service)。一个Activity通常展现为一个可视化的用户界面。Service没有用户界面,但它会在后台一直运行。例如,Service可能在用户处理其他事情的时候播放背景音乐,或者从网络上获取数据,或者,执行一些运算,并把运 算结果提供给Activity展示给用户。
本申请实施例提供了一种终端重启方法,如图3所示,该方法包括:
301、终端保留终端的文件系统的目标解锁状态,目标解锁状态为当前的解锁状态。
其中,当前的解锁状态可以为已解锁状态(或称为已认证状态)或未解锁状态(或称为未认证状态),终端的文件系统的不同的解锁状态对应终端的不同的解锁方式。其中,未解锁状态对应数字解锁方式,即终端的文件系统为未解锁状态时,用户只能通过数字解锁方式解锁终端。已解锁状态对应所有的解锁方式,例如,数字解锁、指纹解锁、人脸解锁、瞳孔解锁、图案解锁等,即终端的文件系统为已解锁状态时,用户可以通过任意一种解锁方式解锁终端。
终端的文件系统的解锁状态可以存储在Vold中。
302、所述终端重启所述终端的框架(Framework)层。
终端重启Framework层包括重启Framework层中的SystemServer和SystemUI,还可以包括重启Framework层中的一类或多类或全部类型的Native进程,还可以包括重启依赖于SystemServer状态的部分或全部进程,依赖于SystemServer状态的进程可以是指需要根据SystemServer状态确定是否重启的进程。Native进程的类型包括:hal类型、core类型、main类型、late_start类型。需要说明的是,一种类型的Native进程的重启可能要在其他某种类型的Native重启之后才能重启,例如,core类型的Native进程的重启需要在hal类型的Native进程重启之后才能重启。
终端重启终端的Framework层之后,可以改善终端的应用、系统进程的膨胀老化问题,提高手机性能,提升用户体验。
步骤302在具体实现时,由于终端的文件系统的当前的解锁状态位于Vold中、且终端保留终端的文件系统的当前的解锁状态,则终端在重启终端的Framework层的过程中不重启Vold。
303、所述终端查询所述终端的文件系统的解锁状态。
步骤303在具体实现时,SystemUI可以查询终端的文件系统的解锁状态。
304、所述终端将所述终端的解锁方式设置为查询到的所述解锁状态对应的解锁方式。
步骤304在具体实现时,SystemUI可以根据文件系统的当前的解锁状态在终端上恢复终端的解锁方式,即将所述终端的解锁方式设置为查询到的所述解锁状态对应的解锁方式。
步骤303和步骤304可以执行在system_server进程重启的过程中。
本申请实施例提供的方法,在终端重启终端的Framework层之前,终端可以保留所述终端的文件系统的当前的解锁状态,从而使得在重启终端的Framework层之后,用户仍然可以采用重启终端的Framework层之前的解锁方式解锁终端,不会使得用户通过解锁方式感知到终端的Framework层的重启,提升用户的体验。
可选地,在步骤302之前,上述方法还包括:11)所述终端保存目标应用信息,所述目标应用信息为与所述终端当前运行的应用相关的信息;则在步骤302之后,上述方法还包括:12)所述终端根据保存的所述目标应用信息在所述终端上恢复所述目标应用信息。其中,步骤12)可以在步骤304之后执行。
其中,终端当前运行的应用可以包括前台应用和/或后台应用。可选地,所述目标应用信息包括当前的通知列表、当前的前台应用的应用数据、当前的至少一个后台应用的标识中的至少一个。
通知列表中包括至少一个通知的信息。通知的信息包括:通知的创建时间、通知所在的包(package)信息、通知对应的图标信息、通知的待触发意图(PendingIntent)、通知的标题栏文字、通知的灯光提示信息、通知的声音提示信息等。
前台应用的应用数据为所述前台应用对应的堆栈中的与所述前台应用相关的全部Activity。
当前的至少一个后台应用可以为当前的所有后台应用中的被标识为Framework层重启前需要被保存的后台应用中的一个或多个。示例性的,被标识为Framework层重启前需要被保存的后台应用可以为重要应用。
目标应用信息可以保存到文件中,例如,存储到可扩展标记语言(eXtensible Markup Language,简称XML)文件中,也可以保存到数据库中,例如,将目标应用信息转化成二进制字节流存储到数据库中。本申请实施例中以目标应用信息保存到数据库中为例对本申请实施例提供的方法作示例性说明。示例性的,本申请实施例中的数据库可以为Sqlite数据库。
该可选地方式,能够使得用户无法根据目标应用信息感知到终端的Framework层的重启,提升用户的体验。
当目标应用信息包括当前的通知列表的情况下:
由于NotificationManagerService管理通知。因此,NotificationManagerService可以在内部存储器中获取通知列表并保存到数据库中。
可选地,步骤12)在具体实现时包括:21)所述终端根据保存的所述通知列表获取所述通知列表中的每个通知的信息;22)所述终端按照时间由先至后的顺序依次在终端上恢复所述通知列表中的全部通知。
当目标应用信息包括当前的前台应用的应用数据的情况下:
需要说明的是,在SystemServer进程中,ActivityManagerService负责记录Activity相关信息以及Activity栈的维护工作,同时还会更新最近任务列表(Recent Applications)。因此,获取以及保存当前的前台应用的应用数据的动作可以由终端中的ActivityManagerService执行。
具体的,ActivityManagerService中会记录当前运行的Activity所属的Activity栈,当前应用的当前界面对应的Activity位于Activity栈的栈顶,Activity栈中的每个Activity中包含该Activity对应的应用的标识。因此,ActivityManagerService根据当前运行的Activity所属的Activity栈的栈顶的Activity可以确定当前应用,根据当前应用确定该Activity栈中的与当前应用相关的Activity(即包含当前应用的标识的Activity)。在对多个Activity进行存储时,可以按序存储多个Activity,以便后续在终端上对多个Activity进行恢复。
可选地,步骤12)在具体实现时可以包括:31)所述终端获取保存的所述全部活动;32)所述终端根据获取的所述全部Activity在所述堆栈中的位置在所述终端上启动所述全部Activity;其中,所述全部Activity中的位于所述堆栈中的越底层的Activity 越早被启动。
示例性的,若该全部Activity包括Activity1、Activity2、Activity3和Activity4,该全部Activity在原堆栈中的顺序为1、2、3、4,则在启动该全部Activity后该全部Activity中的Activity的顺序仍然为1、2、3、4。
需要说明的是,终端根据全部Activity在堆栈中的位置启动全部Activity的过程中,不更新最近任务列表。
参见图4,图4示出了当前的前台应用的应用数据的保存和在终端上恢复的过程。保存过程具体包括:将当前运行的Activity所属的Activity栈中的与前台应用对应的Activity顺序写入数据库。在终端上恢复的过程包括:401、顺序读取数据库中的与前台应用对应的Activity(即上述全部Activity);402、逆序将与前台应用对应的Activity在终端上恢复至所属的Activity栈中;403、依次启动与前台应用对应的Activity,并不更新最近任务列表。
当目标应用信息包括当前的至少一个后台应用的标识的情况下:
由于ActivityManagerService管理Android应用所有界面,因此,
ActivityManagerService可以在内部存储器中获取当前至少一个后台应用的标识并保存到数据库中。
可选地,步骤12)在具体实现时包括:所述终端获取保存的所述至少一个后台应用的标识;所述终端根据获取的所述至少一个后台应用的标识在所述终端上启动所述至少一个后台应用。
示例性的,当用户认为应用1、应用5、应用8比较重要时,可以将应用1、应用5和应用8标识为Framework层重启前需要被保存的后台应用。终端在步骤302之前,若当前的后台应用中包括应用1、应用5和应用8中的应用1和应用5时,可以保存应用1和应用5的标识,在步骤302之后,根据保存的应用1和应用5的标识启动应用1和应用5。
进一步的,在步骤302之前,终端还可以保存终端的当前的耗电排行信息,在步骤302之后,终端根据保存的耗电排行信息在终端上恢复耗电排行。该过程具体可以由BatteryStatsService执行。耗电排行信息可以为终端中的硬件和/或软件的耗电信息的排行信息。
可选地,在步骤302之前,所述方法还包括:所述终端确定所述终端处于空闲状态。
其中,当终端处于空闲状态时,终端可以进行Framework层的重启。空闲状态可以是自定义的一种状态,也可以是安装有Android系统的终端的idle态。当空闲状态可以是自定义的一种状态时,示例性的,空闲状态可以为:终端的屏幕处于灭屏状态超过预设时间段(例如,30分钟)。
可选地,在步骤302之前,所述方法还包括:所述终端关闭所述终端的开机动画中的第二屏动画。
现有技术中,在重启system_server后,会有第二屏动画。该可选地方式,能够使得用户无法根据开机动画中的第二屏动画感知到终端的Framework层的重启。
需要说明的是,安卓终端在开机时会有第一屏动画和第二屏动画。其中,第一屏 动画一般为包含终端的操作系统的信息的不具有个性化的开机动画,第二屏动画一般为终端的厂家添加的具有厂家个性化的开机动画。
可选地,上述方法还可以包括:终端保存终端的用户信息。该过程具体可以由UserManagerService执行。
终端的用户信息可以为用户的标识。上述实施例中所描述的方法均可以针对该用户。另外,终端保存的终端的用户信息也可以有多个,即将对应的文件系统进行解锁过的用户的文件系统的解锁状态都保留,并在进行Framework层的重启之后,将终端的各个用户的解锁方式设置为查询到的各个用户对应的解锁状态对应的解锁方式。
以下介绍目标应用信息的保存和在终端上的恢复的一种具体实现方式,该方式中,目标应用信息包括当前的前台应用的应用数据和/或所述当前的通知列表。
目标应用信息的保存:
若所述目标应用信息中包括位图(Bitmap)对象,所述终端将第一字节流存储进数据库,所述第一字节流为所述Bitmap对象或压缩(例如,png的压缩方式、jpg的压缩方式)后的所述Bitmap对象;和/或,若所述目标应用信息中包括PendingIntent对象,所述终端将第二字节流存储进所述数据库,所述第二字节流为对所述PendingIntent对象中的远程过程调用的基本接口(IBinder)对象对应的ActivityManagerService中的信息进行序列化得到的字节流。
PendingIntent对象中的远程过程调用的IBinder对象可以为IIntentSender。PendingIntent对象中的远程过程调用的IBinder对象对应的ActivityManagerService中的信息可以为PendingIntentRecord中的信息。
进一步的,保存过程还可以包括:若所述目标应用信息中包括Bitmap对象,所述终端将根据所述第一字节流计算得到的第一哈希值存储进所述数据库,所述第一哈希值用于对所述第一字节流进行校验和/或去重;和/或,若所述目标应用信息中包括PendingIntent对象,所述终端将根据所述第二字节流计算得到的第二哈希值存储进所述数据库,所述第二哈希值用于对所述第二字节流进行校验和/或去重。
示例性的,用于计算哈希值的算法可以为信息-摘要算法5(Message Digest Algorithm,简称MD5)、安全散列算法(Secure Hash Algorithm,简称SHA)等。
其中,通过采用第一哈希值对第一字节流进行校验,可以提高第一字节流的安全性,通过第一哈希值对第一字节流进行去重,可以节约数据库的存储空间。相应的,通过采用第二哈希值对第二字节流进行校验,可以提高第二字节流的安全性,通过第二哈希值对第二字节流进行去重,可以节约数据库的存储空间。
进一步的,上述方法还可以包括:若所述目标应用信息中包括Bitmap对象,所述终端将所述第一哈希值写入包裹(Parcel),和/或,若所述目标应用信息中包括PendingIntent对象,所述终端将所述第二哈希值写入所述Parcel。
需要说明的是,目标应用信息中还可以包括非Bitmap对象和非PendingIntent对象,终端可以将非Bitmap对象和非PendingIntent对象存储到Parcel中,再对Parcel进行序列化后存储到数据库中。需要说明的是,在存储非Bitmap对象和非PendingIntent对象时,也可以将根据非Bitmap对象和非PendingIntent对象计算得到的哈希值存储到数据库中,从而对非Bitmap对象和非PendingIntent对象进行校验。
Parcel是数据库中的一部分,第一哈希值写到parcel中,就可以对第一字节流进行索引,因此,与非Bitmap对象和非PendingIntent对象相比,就不需要将整个第一字节流写到parcel中,节约parcel的空间。同样的,第二哈希值写到parcel中,就可以对第二字节流进行索引,因此,与非Bitmap对象和非PendingIntent对象相比,就不需要将整个第二字节流写到parcel中,节约parcel的空间。
目标应用信息在终端上的恢复:
41)所述终端在数据库中获取所述包裹,并根据获取到的所述包裹中的所述第一哈希值在所述数据库中获取所述第一字节流,所述终端对所述第一字节流进行反序列化得到所述位图对象;和/或,所述终端在数据库中获取所述包裹,并根据获取到的所述包裹中的所述第二哈希值在所述数据库中获取所述第二字节流,所述终端对所述第二字节流进行反序列化得到所述待触发意图对象中的远程过程调用的基本接口对象对应的活动管理器服务中的信息,根据所述活动管理器服务中的信息确定所述待触发意图对象;42)所述终端根据所述位图对象和/或所述待触发意图对象在所述终端上恢复所述目标应用信息。
可以理解的是,若在步骤41)中,终端获取到位图对象,步骤42)中,终端根据位图对象在终端上恢复目标应用信息。若在步骤41)中,终端获取到待触发意图对象,步骤42)中,终端根据待触发意图对象在终端上恢复目标应用信息。若在步骤41)中,终端获取到位图对象和待触发意图对象,步骤42)中,终端根据位图对象和待触发意图对象在终端上恢复目标应用信息。
若目标应用信息中包括PendingIntent对象,终端可以从数据库中获取第二字节流,对第二字节流进行反序列化得到上述ActivityManagerService中的信息,根据这个信息确定远程过程调用的IBinder对象,根据远程过程调用的IBinder对象构造PendingIntent。
参见图5,图5示出了保存和获取目标应用信息的过程。保存过程具体可以包括:501a、将目标应用信息中的非Bitmap对象和非PendingIntent对象存储进数据库中;502a、确定目标应用信息中是否包含Bitmap对象,若是,执行步骤503a,若否,执行步骤504a;503a、将目标应用信息中Bitmap对象存储进数据库中;504a、确定目标应用信息中是否包含PendingIntent对象,若是,执行步骤505a,若否,结束;505a、将目标应用信息中的PendingIntent对象存储进数据库中。获取过程具体可以包括:501b、反序列化数据库中的非Bitmap对象和非PendingIntent对象对应的字节流得到目标应用信息中的非Bitmap对象和非PendingIntent对象;502b、确定目标应用信息中是否包含Bitmap对象,若是,执行步骤503b,若否,执行步骤504b;503b、从数据库中获取目标应用信息中的Bitmap对象;504b、确定目标应用信息中是否包含PendingIntent对象,若是,执行步骤505b,若否,结束;505b、从数据库中获取目标应用信息中的PendingIntent对象。
需要说明的是,一个通知对应一个通知标识,一个Activity对应一个Activity标识。步骤21)在具体实现时,若终端需要获取通知列表,则可以根据通知标识在parcel中获取通知标识对应的数据(包括第一哈希值),根据该数据从数据库中获取通知标识对应的通知的信息。若终端需要获取Activity,则可以根据Activity标识在parcel中获取Activity对应的数据(包括第二哈希值),根据该数据从数据库中获取Activity 标识对应的Activity。
上述主要从方法的角度对本申请实施例的方案进行了介绍。可以理解的是,终端重启装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对终端重启装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在一个示例中,当对应各个功能划分各个功能单元时,参见图6,终端重启装置60可以包括:
保留单元601,用于保留终端重启装置的文件系统的目标解锁状态,目标解锁状态为当前的解锁状态;
重启单元602,用于重启终端重启装置的框架层;
查询单元603,用于查询终端重启装置的文件系统的解锁状态;
设置单元604,用于将终端重启装置的解锁方式设置为查询到的解锁状态对应的解锁方式。
可选地,参见图7,终端重启装置还包括:
保存单元605,用于保存目标应用信息,目标应用信息为与终端重启装置当前运行的应用相关的信息;
恢复单元606,用于根据保存的目标应用信息在终端重启装置上恢复目标应用信息。
可选地,目标应用信息包括当前的通知列表、当前的前台应用的应用数据、当前的至少一个后台应用的标识中的至少一个。
可选地,目标应用信息包括当前的前台应用的应用数据,前台应用的应用数据为前台应用对应的堆栈中的与前台应用相关的全部活动。
可选地,恢复单元606,具体用于获取保存的全部活动,并根据获取的全部活动在堆栈中的位置在终端重启装置上启动全部活动;其中,全部活动中的位于堆栈中的越底层的活动越早被启动。
可选地,目标应用信息包括当前的通知列表,恢复单元606,具体用于根据保存的通知列表获取通知列表中的每个通知的信息,并按照时间由先至后的顺序依次在终端重启装置上恢复通知列表中的全部通知。
可选地,目标应用信息包括当前的前台应用的应用数据和/或当前的通知列表,保存单元605,具体用于:若目标应用信息中包括位图对象,将第一字节流存储进数据库,第一字节流为位图对象或压缩后的位图对象;和/或,若目标应用信息中包括待触 发意图对象,将第二字节流存储进数据库,第二字节流为对待触发意图对象中的远程过程调用的基本接口对象对应的活动管理器服务中的信息进行序列化得到的字节流。
可选地,保存单元605,还用于:若目标应用信息中包括位图对象,将根据第一字节流计算得到的第一哈希值存储进数据库,第一哈希值用于对第一字节流进行校验和/或去重;和/或,若目标应用信息中包括待触发意图对象,将根据第二字节流计算得到的第二哈希值存储进数据库,第二哈希值用于对第二字节流进行校验和/或去重。
可选地,参见图7,终端重启装置还包括:写入单元607,用于在目标应用信息中包括位图对象时,将第一哈希值写入包裹,和/或,在目标应用信息中包括待触发意图对象时,将第二哈希值写入包裹。
可选地,恢复单元606,具体用于:
在数据库中获取包裹,并根据获取到的包裹中的第一哈希值在数据库中获取第一字节流,对第一字节流进行反序列化得到位图对象;和/或,在数据库中获取包裹,并根据获取到的包裹中的第二哈希值在数据库中获取第二字节流,对第二字节流进行反序列化得到待触发意图对象中的远程过程调用的基本接口对象对应的活动管理器服务中的信息,根据活动管理器服务中的信息确定待触发意图对象;
根据位图对象和/或待触发意图对象在终端上恢复目标应用信息。
可选地,目标应用信息包括当前的至少一个后台应用的标识,恢复单元606,具体用于:获取保存的至少一个后台应用的标识,并根据获取的至少一个后台应用的标识在终端重启装置上启动至少一个后台应用。
可选地,参见图7,终端重启装置还包括:确定单元608,用于确定终端重启装置处于空闲状态。
可选地,参见图7,终端重启装置还包括:关闭单元609,用于关闭终端重启装置的开机动画中的第二屏动画。
由于终端重启装置60用于执行上述方法,因此,终端重启装置60的有益效果参见上述方法的有益效果,在此不再赘述。
在另一个示例中,为了实现上述方法,本申请可以对现有的终端进行改进,参见图8,改进之处具体包括:
增加系统上下文保留模块,用于保留系统上下文,系统上下文包括终端的文件系统的目标解锁状态。系统上下文保留模块可以位于SystemServer中。
增加重启执行模块,用于重启Framework层。重启执行模块可以位于内核层中。
增加解锁状态同步模块,用于查询终端的文件系统的解锁状态并将终端的解锁方式设置为查询到的解锁状态对应的解锁方式。解锁状态同步模块可以位于SystemUI中。
可选地,改进之处还包括:增加用户上下文保存和恢复模块,用于保存以及恢复目标应用信息。用户上下文保存和恢复模块可以位于SystemServer中。
可选地,改进之处还包括:增加无感知场景判定模块,用于判定无感知场景,即用于判断终端处于空闲状态。无感知场景判定模块可以位于SystemServer中。
可选地,改进之处还包括:修改动画(Anim)启动控制模块,用于关闭开机动画中的第二屏动画。Anim启动控制模块可以位于SystemServer中。
可选地,改进之处还包括:增加重启方式控制模块,重启方式控制模块包含多种重启方式。不同的重启方式用于重启Framework层中的不同的模块,示例性的,重启方式可以用于指示在进行Framework层中的Native进程的重启时,重启哪些Native进程以及native进程的启动顺序。重启方式控制模块可以包含在内核层中。
基于上述改进,本申请实施例提供的方法的具体实现流程可以为:无感知场景判定模块判定终端处于无感知场景时,向系统上下文保留模块和用户上下文保存和恢复模块发送第一指示信息,第一指示信息用于指示终端当前处于无感知场景,系统上下文保留模块根据第一指示信息保留终端的文件系统的目标解锁状态,用户上下文保存和恢复模块根据第一指示信息保存目标应用信息和用户的ID;系统上下文保留模块和用户上下文保存和恢复模块向Anim启动控制模块发送第二指示信息,系统上下文保留模块发送的第二指示信息用于指示系统上下文保留完成,用户上下文保存和恢复模块发送的第二指示信息用于指示用户上下文保存完成,Anim启动控制模块根据第二指示信息关闭开机动画中的第二屏动画;系统上下文保留模块和用户上下文保存和恢复模块向内核层中的init进程中的重启执行模块发送第二指示信息,重启执行模块根据第二指示信息,在重启方式控制模块中获取重启方式,并根据重启方式重启终端的Framework层;重启执行模块向解锁状态同步模块和用户上下文保存和恢复模块发送第三指示信息,第三指示信息用于指示重启完成,解锁状态同步模块根据第三指示信息查询终端的文件系统的解锁状态并将终端的解锁方式设置为查询到的解锁状态对应的解锁方式;用户上下文保存和恢复模块根据第三指示信息恢复终端的目标应用信息。
当将以上的多个功能单元(或模块)集成在一个处理单元中时,上述各个功能单元执行的动作均可由处理单元根据存储单元中存储的程序执行。其中,处理单元可以是处理器或控制器。存储单元可以是存储器。当处理单元为处理器,存储单元为存储器时,上述各个功能单元执行的动作可以由处理器根据存储器中存储的程序执行。示例性的,当终端重启装置的硬件结构示意图如图1所示时,处理器可以处理器180,存储器可以为存储器120。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,简称DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可 以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,简称SSD))等。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。

Claims (27)

  1. 一种终端重启方法,其特征在于,包括:
    终端保留所述终端的文件系统的目标解锁状态,所述目标解锁状态为当前的解锁状态;
    所述终端重启所述终端的框架层;
    所述终端查询所述终端的文件系统的解锁状态;
    所述终端将所述终端的解锁方式设置为查询到的所述解锁状态对应的解锁方式。
  2. 根据权利要求1所述的终端重启方法,其特征在于,
    在所述终端重启所述终端的框架层之前,所述终端重启方法还包括:所述终端保存目标应用信息,所述目标应用信息为与所述终端当前运行的应用相关的信息;
    在所述终端重启所述终端的框架层之后,所述终端重启方法还包括:所述终端根据保存的所述目标应用信息在所述终端上恢复所述目标应用信息。
  3. 根据权利要求2所述的终端重启方法,其特征在于,所述目标应用信息包括当前的通知列表、当前的前台应用的应用数据、当前的至少一个后台应用的标识中的至少一个。
  4. 根据权利要求3所述的终端重启方法,其特征在于,所述目标应用信息包括所述当前的前台应用的应用数据,所述前台应用的应用数据为所述前台应用对应的堆栈中的与所述前台应用相关的全部活动。
  5. 根据权利要求4所述的终端重启方法,其特征在于,所述终端根据保存的所述目标应用信息在所述终端上恢复所述目标应用信息,包括:
    所述终端获取保存的所述全部活动;
    所述终端根据获取的所述全部活动在所述堆栈中的位置在所述终端上启动所述全部活动;其中,所述全部活动中的位于所述堆栈中的越底层的活动越早被启动。
  6. 根据权利要求3所述的终端重启方法,其特征在于,所述目标应用信息包括所述当前的通知列表,所述终端根据保存的所述目标应用信息在所述终端上恢复所述目标应用信息,包括:
    所述终端根据保存的所述通知列表获取所述通知列表中的每个通知的信息;
    所述终端按照时间由先至后的顺序依次在所述终端上恢复所述通知列表中的全部通知。
  7. 根据权利要求3-6任一项所述的终端重启方法,其特征在于,所述目标应用信息包括所述当前的前台应用的应用数据和/或所述当前的通知列表,所述终端保存目标应用信息,包括:
    若所述目标应用信息中包括位图对象,所述终端将第一字节流存储进数据库,所述第一字节流为所述位图对象或压缩后的所述位图对象;和/或,
    若所述目标应用信息中包括待触发意图对象,所述终端将第二字节流存储进所述数据库,所述第二字节流为对所述待触发意图对象中的远程过程调用的基本接口对象对应的活动管理器服务中的信息进行序列化得到的字节流。
  8. 根据权利要求7所述的终端重启方法,其特征在于,所述终端重启方法还包括:
    若所述目标应用信息中包括位图对象,所述终端将根据所述第一字节流计算得到 的第一哈希值存储进所述数据库,所述第一哈希值用于对所述第一字节流进行校验和/或去重;和/或,
    若所述目标应用信息中包括待触发意图对象,所述终端将根据所述第二字节流计算得到的第二哈希值存储进所述数据库,所述第二哈希值用于对所述第二字节流进行校验和/或去重。
  9. 根据权利要求8所述的终端重启方法,其特征在于,所述终端重启方法还包括:
    若所述目标应用信息中包括位图对象,所述终端将所述第一哈希值写入包裹,和/或,若所述目标应用信息中包括待触发意图对象,所述终端将所述第二哈希值写入所述包裹。
  10. 根据权利要求9所述的终端重启方法,其特征在于,所述终端根据保存的所述目标应用信息在所述终端上恢复所述目标应用信息,包括:
    所述终端在所述数据库中获取所述包裹,并根据获取到的所述包裹中的所述第一哈希值在所述数据库中获取所述第一字节流,所述终端对所述第一字节流进行反序列化得到所述位图对象;和/或,所述终端在所述数据库中获取所述包裹,并根据获取到的所述包裹中的所述第二哈希值在所述数据库中获取所述第二字节流,所述终端对所述第二字节流进行反序列化得到所述待触发意图对象中的远程过程调用的基本接口对象对应的活动管理器服务中的信息,根据所述活动管理器服务中的信息确定所述待触发意图对象;
    所述终端根据所述位图对象和/或所述待触发意图对象在所述终端上恢复所述目标应用信息。
  11. 根据权利要求3-10任一项所述的终端重启方法,其特征在于,所述目标应用信息包括所述当前的至少一个后台应用的标识,所述终端根据保存的所述目标应用信息在所述终端上恢复所述目标应用信息,包括:
    所述终端获取保存的所述至少一个后台应用的标识;
    所述终端根据获取的所述至少一个后台应用的标识在所述终端上启动所述至少一个后台应用。
  12. 根据权利要求1-11任一项所述的终端重启方法,其特征在于,在所述终端重启所述终端的框架层之前,所述终端重启方法还包括:
    所述终端确定所述终端处于空闲状态。
  13. 根据权利要求1-12任一项所述的终端重启方法,其特征在于,在所述终端重启所述终端的框架层之前,所述终端重启方法还包括:
    所述终端关闭所述终端的开机动画中的第二屏动画。
  14. 一种终端重启装置,其特征在于,包括:
    保留单元,用于保留所述终端重启装置的文件系统的目标解锁状态,所述目标解锁状态为当前的解锁状态;
    重启单元,用于重启所述终端重启装置的框架层;
    查询单元,用于查询所述终端重启装置的文件系统的解锁状态;
    设置单元,用于将所述终端重启装置的解锁方式设置为查询到的所述解锁状态对应的解锁方式。
  15. 根据权利要求14所述的终端重启装置,其特征在于,所述终端重启装置还包括:
    保存单元,用于保存目标应用信息,所述目标应用信息为与所述终端重启装置当前运行的应用相关的信息;
    恢复单元,用于根据保存的所述目标应用信息在所述终端重启装置上恢复所述目标应用信息。
  16. 根据权利要求15所述的终端重启装置,其特征在于,所述目标应用信息包括当前的通知列表、当前的前台应用的应用数据、当前的至少一个后台应用的标识中的至少一个。
  17. 根据权利要求16所述的终端重启装置,其特征在于,所述目标应用信息包括所述当前的前台应用的应用数据,所述前台应用的应用数据为所述前台应用对应的堆栈中的与所述前台应用相关的全部活动。
  18. 根据权利要求17所述的终端重启装置,其特征在于,
    所述恢复单元,具体用于获取保存的所述全部活动,并根据获取的所述全部活动在所述堆栈中的位置在所述终端重启装置上启动所述全部活动;其中,所述全部活动中的位于所述堆栈中的越底层的活动越早被启动。
  19. 根据权利要求16所述的终端重启装置,其特征在于,所述目标应用信息包括所述当前的通知列表,
    所述恢复单元,具体用于根据保存的所述通知列表获取所述通知列表中的每个通知的信息,并按照时间由先至后的顺序依次在所述终端重启装置上恢复所述通知列表中的全部通知。
  20. 根据权利要求16-19任一项所述的终端重启装置,其特征在于,所述目标应用信息包括所述当前的前台应用的应用数据和/或所述当前的通知列表,所述保存单元,具体用于:
    若所述目标应用信息中包括位图对象,将第一字节流存储进数据库,所述第一字节流为所述位图对象或压缩后的所述位图对象;和/或,
    若所述目标应用信息中包括待触发意图对象,将第二字节流存储进所述数据库,所述第二字节流为对所述待触发意图对象中的远程过程调用的基本接口对象对应的活动管理器服务中的信息进行序列化得到的字节流。
  21. 根据权利要求20所述的终端重启装置,其特征在于,所述保存单元,还用于:
    若所述目标应用信息中包括位图对象,将根据所述第一字节流计算得到的第一哈希值存储进所述数据库,所述第一哈希值用于对所述第一字节流进行校验和/或去重;和/或,
    若所述目标应用信息中包括待触发意图对象,将根据所述第二字节流计算得到的第二哈希值存储进所述数据库,所述第二哈希值用于对所述第二字节流进行校验和/或去重。
  22. 根据权利要求21所述的终端重启装置,其特征在于,所述终端重启装置还包括:
    写入单元,用于在所述目标应用信息中包括位图对象时,将所述第一哈希值写入 包裹,和/或,在所述目标应用信息中包括待触发意图对象时,将所述第二哈希值写入所述包裹。
  23. 根据权利要求22所述的终端重启装置,其特征在于,所述恢复单元,具体用于:
    在所述数据库中获取所述包裹,并根据获取到的所述包裹中的所述第一哈希值在所述数据库中获取所述第一字节流,对所述第一字节流进行反序列化得到所述位图对象;和/或,在所述数据库中获取所述包裹,并根据获取到的所述包裹中的所述第二哈希值在所述数据库中获取所述第二字节流,对所述第二字节流进行反序列化得到所述待触发意图对象中的远程过程调用的基本接口对象对应的活动管理器服务中的信息,根据所述活动管理器服务中的信息确定所述待触发意图对象;
    根据所述位图对象和/或所述待触发意图对象在所述终端上恢复所述目标应用信息。
  24. 根据权利要求16-23任一项所述的终端重启装置,其特征在于,所述目标应用信息包括所述当前的至少一个后台应用的标识,所述恢复单元,具体用于:
    获取保存的所述至少一个后台应用的标识,并根据获取的所述至少一个后台应用的标识在所述终端重启装置上启动所述至少一个后台应用。
  25. 根据权利要求14-24任一项所述的终端重启装置,其特征在于,所述终端重启装置还包括:
    确定单元,用于确定所述终端重启装置处于空闲状态。
  26. 根据权利要求14-25任一项所述的终端重启装置,其特征在于,所述终端重启装置还包括:
    关闭单元,用于关闭所述终端重启装置的开机动画中的第二屏动画。
  27. 一种终端重启装置,其特征在于,所述终端重启装置包括:存储器和处理器;
    所述存储器用于存储计算机执行指令,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述终端重启装置实现如权利要求1-13中任意一项所述的终端重启方法。
PCT/CN2019/083756 2018-07-18 2019-04-22 一种终端重启方法及装置 WO2020015415A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810792937.5A CN110737476B (zh) 2018-07-18 2018-07-18 一种终端重启方法及装置
CN201810792937.5 2018-07-18

Publications (1)

Publication Number Publication Date
WO2020015415A1 true WO2020015415A1 (zh) 2020-01-23

Family

ID=69163583

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/083756 WO2020015415A1 (zh) 2018-07-18 2019-04-22 一种终端重启方法及装置

Country Status (2)

Country Link
CN (1) CN110737476B (zh)
WO (1) WO2020015415A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022447A (zh) * 2022-04-28 2022-09-06 中国联合网络通信集团有限公司 协助解锁方法、用户终端、服务器、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443156B (zh) * 2021-12-24 2023-01-17 荣耀终端有限公司 一种应用程序的处理方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004157871A (ja) * 2002-11-07 2004-06-03 Ntt Communications Kk ファームウェア更新方法、装置およびプログラム
CN103297600A (zh) * 2012-03-01 2013-09-11 宇龙计算机通信科技(深圳)有限公司 移动终端和移动终端系统自动重启方法
CN106598704A (zh) * 2016-12-19 2017-04-26 北京小米移动软件有限公司 应用程序恢复方法和装置
CN107015816A (zh) * 2017-05-25 2017-08-04 微鲸科技有限公司 操作系统升级方法、装置及一种智能终端

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7984419B2 (en) * 2005-04-25 2011-07-19 Nokia Corporation System and method for separating code sharing and active applications in an OSGi service platform
CN105094791B (zh) * 2014-05-22 2018-10-23 北京奇虎科技有限公司 状态栏通知的存储方法及装置
CN104462980A (zh) * 2014-12-30 2015-03-25 北京奇虎科技有限公司 一种应用程序权限管理的方法、装置、系统及移动终端
KR102446325B1 (ko) * 2015-06-24 2022-09-22 삼성전자주식회사 어플리케이션 프로그램 운용 방법 및 이를 지원하는 전자 장치
CN107105082B (zh) * 2016-02-23 2020-11-03 中兴通讯股份有限公司 一种终端解除锁网的方法、开机的方法及装置
CN107492131B (zh) * 2017-07-01 2020-06-12 武汉斗鱼网络科技有限公司 用于安卓电视的倒影生成方法、存储介质、设备及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004157871A (ja) * 2002-11-07 2004-06-03 Ntt Communications Kk ファームウェア更新方法、装置およびプログラム
CN103297600A (zh) * 2012-03-01 2013-09-11 宇龙计算机通信科技(深圳)有限公司 移动终端和移动终端系统自动重启方法
CN106598704A (zh) * 2016-12-19 2017-04-26 北京小米移动软件有限公司 应用程序恢复方法和装置
CN107015816A (zh) * 2017-05-25 2017-08-04 微鲸科技有限公司 操作系统升级方法、装置及一种智能终端

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022447A (zh) * 2022-04-28 2022-09-06 中国联合网络通信集团有限公司 协助解锁方法、用户终端、服务器、设备及存储介质

Also Published As

Publication number Publication date
CN110737476B (zh) 2021-08-20
CN110737476A (zh) 2020-01-31

Similar Documents

Publication Publication Date Title
KR102148948B1 (ko) 전자 장치의 멀티 태스킹 방법 및 그 전자 장치
KR102609363B1 (ko) 전자 장치 및 전자 장치의 멀티미디어 콘텐트 재생 방법
CN110888821B (zh) 一种内存管理方法及装置
US11812323B2 (en) Method and apparatus for triggering terminal behavior based on environmental and terminal status parameters
EP3451193B1 (en) Electronic device and file data journaling method of electronic device
KR102557125B1 (ko) 전자 장치 및 그 제어 방법
US11314703B2 (en) Method and apparatus for processing timedly-published data
US10209915B2 (en) Electronic device and file read and write method thereof
KR102496058B1 (ko) 근거리 무선 통신 네트워크에서 스캔 방법 및 이를 구현하는 전자 장치
WO2019076293A1 (zh) 一种差分升级的方法、装置及系统
KR102475230B1 (ko) 통신망 연결 제어 방법, 저장 매체 및 이를 위한 전자 장치
US11940992B2 (en) Model file management method and terminal device
US20230362244A1 (en) Application interface migration system and method, and related device
WO2019071424A1 (zh) 应用功能的控制方法及终端
WO2020015415A1 (zh) 一种终端重启方法及装置
WO2019071609A1 (zh) 一种加载应用和升级应用的方法及终端设备
EP3190507B1 (en) Method and electronic device for capturing a screenshot.
KR20170098112A (ko) 전자 장치 및 그의 동작 방법
CN107341032B (zh) 一种数据加载方法、移动终端及计算机可读存储介质
WO2018166169A1 (zh) 指纹识别方法及相关产品
KR20170141012A (ko) 사용자 입력을 처리하기 위한 방법 및 그 전자 장치
US20230274036A1 (en) Data reading method, storage medium, and mobile terminal
CN116841794A (zh) 一种数据的校验方法、装置以及存储介质
US11606457B2 (en) Technology and method for selectively providing network function to application of device
KR20180069635A (ko) 서버, 전자 장치 및 데이터 관리 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19837909

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19837909

Country of ref document: EP

Kind code of ref document: A1