Method for recommending application programs based on material types, electronic equipment and storage medium
By displaying the thumbnails of the material and filtering matching applications according to the material type selected by the user, the problem of fixed application types and poor flexibility in the existing technology is solved, improving the flexibility and matching degree of material sharing, and improving user experience .
Patent Information
- Application Number
- CN202311051366.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-18
- Publication Date
- 2025-02-21
AI Technical Summary
In the prior art, the types and number of applications recommended by the system by default are fixed, and the flexibility is poor, resulting in low matching between the application and the material type when sharing materials, and poor user experience.
By displaying thumbnails of materials and filtering matching applications based on the material type selected by the user, a list of applications based on material type recommendations is provided, which improves the degree of matching between applications and material types.
It improves the flexibility and matching of material sharing, allowing users to share different types of materials more conveniently, and improves user experience.
Smart Images

Figure CN119493675A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of electronic technology, and in particular to a method for recommending applications based on material type, an electronic device, and a storage medium. Background Art
[0002] With the rapid development of terminal devices, the functions of terminal devices are becoming increasingly rich, and people use terminal devices in more and more scenarios.
[0003] In daily work and life, there are often scenarios where cross-application material sharing occurs. For example, users often need to share their favorite materials to chat software, and then share them with corresponding contacts. In common sharing methods, users can select a variety of different types of materials they want to share, and through the system's native sharing function, select one from the system's default recommended applications to share, such as sharing to the system's default chat application (referred to as the chat application), and then sharing to the selected contacts in the chat application.
[0004] However, in the system's native sharing function, the types and numbers of applications recommended by the system by default are fixed, and have poor flexibility. Summary of the invention
[0005] The present application provides a method, device, chip, electronic device, computer-readable storage medium and computer program product for recommending applications based on material type, which can improve the flexibility of material sharing.
[0006] In a first aspect, a method for recommending applications based on material type is provided, comprising: displaying a first interface, the first interface comprising a first thumbnail of a first material, a second thumbnail of a second material, and a third thumbnail of a third material, the material types of the third material and the second material being different; when the first thumbnail and the second thumbnail are selected, receiving a first sharing operation input by a user, the first sharing operation being an operation of sharing the first material and the second material; in response to the first sharing operation, displaying a second interface, the second interface comprising a first application list; when the first thumbnail and the third thumbnail are selected, receiving a second sharing operation input by the user, the second sharing operation being an operation of sharing the first material and the third material; in response to the second sharing operation, displaying a third interface, the third interface comprising a second application list; wherein the applications in the first application list all match the material types of the first material and the second material, and the applications in the second application list all match the material types of the first material and the third material.
[0007] The first interface may be a display interface of an application for collecting various materials. If the materials are collected in a note application (APP), the first interface may be the interface of the note APP; if the materials are collected in a global collection service, the first interface may be a panel of the global collection service; if the desktop of the terminal device supports collecting materials, the first interface may also be the desktop.
[0008] Specifically, the terminal device can filter and recommend applications that match the material type according to the material type of the material selected by the user, and the terminal device can display the recommended applications in a list. When the user selects the first material and the second material, that is, when the user clicks the first thumbnail and the second thumbnail to select the two, if the user performs a first sharing operation, such as clicking a sharing control, the terminal device can display a list of applications that match the material types of the first material and the second material, referred to as a first application list. If the user selects other types of materials, such as selecting a third material and the first material that are different from the material type of the second material, that is, when the user clicks the first thumbnail and the third thumbnail to select them, and performs a second sharing operation, the applications in the second application list displayed by the terminal device match the material types of the first material and the third material. It can be understood that the applications in the second application list are different from the applications in the first application list. Compared with the first application list, the second application list may increase the applications that match the material type of the third material, and reduce the applications that match the material type of the second material and do not match the material type of the third material.
[0009] When sharing materials, this method can recommend matching applications for materials of different types. Compared with the default, fixed-type application method of the traditional recommendation system, the matching degree between the recommended applications and the materials to be shared is improved, and the types of applications that can receive shared materials are richer and more flexible, thereby improving the flexibility of material sharing and covering a wider range of application scenarios.
[0010] In one possible implementation, the applications in the first application list all match the material types of the first material and the second material, including: the applications in the first application list all support the material type of the first material and / or the material type of the second material; the applications in the second application list all match the material types of the first material and the third material, including: the applications in the second application list all support the material type of the first material and / or the material type of the third material.
[0011] It should be noted that the terminal device can recommend matching applications based on the material type of the material to be shared. If there is only one material to be shared, the application recommended by the terminal device is an application that supports the material. If there are multiple materials to be shared, the application recommended by the terminal device may include an application that supports only the material type of one of the materials, an application that supports the material type of some of the materials, or an application that supports the material type of all the materials.
[0012] The application supporting a material type mentioned in this application means that the application can parse or normally display the material of the material type. For example, when the material type is a picture, the application supporting the material type is an application that can parse and normally display the picture. When the material type is text, the application supporting the material type is an application that can parse and normally display the text content. Correspondingly, if the application does not support a material type, it means that the application cannot correctly parse or normally display the material of the material type.
[0013] For example, when the first material and the second material are to be shared, the applications in the first application list may include applications that match the material type of the first material but do not match the material type of the second material, applications that match the material type of the second material but do not match the material type of the first material, and applications that match the material types of both the first material and the second material. When the first material and the third material are to be shared, the applications in the second application list may include applications that match the material type of the first material but do not match the material type of the third material, applications that match the material type of the third material but do not match the material type of the first material, and applications that match the material types of both the first material and the third material.
[0014] In one possible implementation, in response to a first sharing operation, a second interface is displayed, including: in response to the first sharing operation, based on the material types of the first material and the second material, determining at least one candidate application that supports the material type of the first material and / or the second material; generating a first application list including at least one candidate application; and displaying a second interface including the first application list.
[0015] Specifically, the terminal device may filter the applications installed on the terminal device according to the material type of the material to be shared, and obtain applications matching the material type as the selected applications. Optionally, the number of the selected applications may be one or more. The terminal device generates a first application list of the selected applications and displays it in the second interface for the user to select.
[0016] When no application supporting either the first material or the second material is installed in the system, there is no application to be selected. When the user performs the first sharing operation, the terminal device can prompt the user that there is no application to share.
[0017] The terminal device determines at least one candidate application that supports the material type of the first material and / or the second material based on the material types of the first material and the second material, thereby ensuring that the candidate applications that match the material type of the first material and / or the second material are screened out, and filtering out applications that do not match the material types of both the first material and the second material, thereby ensuring a high degree of match between the recommended application and the material type to be shared, thereby ensuring a high success rate for material sharing.
[0018] In one possible implementation, at least one candidate application supporting the material type of the first material and the second material is determined based on the material type of the first material and the second material, including: obtaining a first application set and a second application set, the applications in the first application set supporting the material type of the first material, and the applications in the second application set supporting the material type of the second material; and determining the applications in the intersection or union of the first application set and the second application set as at least one candidate application.
[0019] Specifically, the terminal device can filter out a set of applications that match the material type of the first material from the installed applications, recorded as the first application set; the terminal device can also filter out a set of applications of the material type of the second material from the installed applications, recorded as the second application set. Optionally, the terminal device can use the intersection of the first application set and the second application set as the final selected application, which can ensure that both the first material and the second material can be successfully shared, thereby improving the success rate of complete material sharing. Optionally, the terminal device can also use the union of the first application set and the second application set as the final selected application, which can expand the types and number of applications that can receive materials and improve the flexibility of material sharing.
[0020] Optionally, before filtering applications that match the material type of the material, the terminal device may also perform a legitimacy check on the applications installed on the terminal device. If the check passes, the filtering continues based on the material type; if the check does not pass, the application is filtered out and no longer filtered based on the material type. In other words, the terminal device may first perform a legitimacy check on the installed applications, form an application set with the applications that have passed the check, and then filter the applications in the application set based on the material type of the material to be shared. Optionally, the legitimacy check is to check whether the application is an application that has been successfully registered on the open platform. If so, the check can pass; if not, the check cannot pass.
[0021] In a possible implementation, the method also includes: obtaining a first association relationship between the first material and the second material, the first association relationship including the order of the first material and the second material; in response to the first sharing operation, after displaying the second interface, the method also includes: receiving a first selection operation input by the user on the second interface; in response to the first selection operation, determining an application to be shared from a first application list; and sharing the first material, the second material and the first association relationship to the application to be shared.
[0022] Specifically, when the user selects the first thumbnail and the second thumbnail, there is a selection order, which is the association relationship between the first material and the second material. For example, if the user clicks the first thumbnail first and then clicks the second thumbnail, the first association relationship is that the first material is in front of the second material.
[0023] When the user selects the first material and the second material, the terminal device can know the order of the first material and the second material. When the terminal device displays the second interface, the user can perform a first selection operation on the first application list in the second interface to select an application to share the material, and the application is recorded as the application to be shared. In response to the user's first selection operation of selecting the application to be shared, the terminal device shares the first material, the second material and the first association relationship to the application to be shared.
[0024] Optionally, the order between materials can be sorted by numbering the materials, for example, by generating a serial number corresponding to each material. For example, natural numbers from small to large can be assigned as serial numbers in the order in which users click on the materials, or Roman numerals from small to large can be assigned as serial numbers in the order in which users click on the materials. This application does not limit the expression method of the order between materials.
[0025] This method allows the terminal device to share not only the material itself, but also the order of the materials to the application to be shared, making the shared information more comprehensive. Usually, the order of the materials can represent the user's sharing intention. For example, the order in which the user clicks on the materials can represent the order in which the user wants to display the materials. Based on this, the application to be shared can present the shared materials in order, which meets the user's sharing intention and improves the user experience.
[0026] In a possible implementation, sharing the first material, the second material, and the first association relationship to the application to be shared includes: generating export data according to a preset format for the first material, the second material, and the first association relationship, the export data including: serial numbers of the first material and the second material, material types of the first material and the second material, text content or file links of the first material and the second material; and sharing the exported data to the application to be shared.
[0027] The above preset format is a predefined data format, which can be a unified format and regularized definition for the transmission content between applications, so as to ensure the consistency of the data format, thereby achieving complete data transmission and avoiding data loss. Based on this, during the material sharing process, the application receiving the material can parse the shared material and the association relationship according to the preset format to ensure the integrity of the data transmission.
[0028] In the exported data, the serial numbers of the first material and the second material can represent the order of the two materials. The material type represents the type of the material itself, and the material type can be, for example, a picture, text, document, video, audio, etc. If the material type of the material is a picture, document, video, audio, or text with a large amount of data, the content of the material can be represented by a file link, and the file link indicates the location where the material is stored. If the material type of the material is a text with a small amount of data, the content of the material can be directly represented by the text content.
[0029] The terminal device generates export data according to a preset format for the first material, the second material, and the first association, and shares the export data with the application to be shared, so that the application to be shared can fully know the first material, the second material, and the first association, and obtain more comprehensive information about the material. The above-mentioned export data can fully characterize the content of the first material and the second material and the order between the two, so that after the application to be shared receives the export data, it can display the materials in the order of the two, which meets the user's sharing intention and improves the user experience.
[0030] Optionally, the first material, the second material and the third material may be a single material or a composite material. The first material, the second material and the third material may also be partially a single material and partially a composite material. A composite material refers to a combined material formed by multiple single materials. A composite material can usually only display one thumbnail, but may contain multiple single materials of the same or different material types. The single material involved in this application is a concept relative to the composite material.
[0031] In a possible implementation, the first material is a composite material, and the method further includes: when the first thumbnail is selected, receiving a third sharing operation input by the user, the third sharing operation being an operation of sharing the first material; in response to the third sharing operation, displaying a fourth interface, the fourth interface including a third application list, the applications in the third application list all matching the material types of multiple single materials; obtaining a second association relationship between the multiple single materials; receiving a second selection operation input by the user on the fourth interface; in response to the second selection operation, determining an application to be shared from the third application list; and sharing the multiple single materials and the second association relationship to the application to be shared.
[0032] When the first material is a composite material, the first material is usually composed of multiple single materials, and there is a second association relationship between the multiple single materials. The second association relationship may include a dependency relationship between single materials, such as a single material is the annotation content of another single material, or a single material is content captured from another single material, etc. If the user wants to share the first material, the first thumbnail can be selected in the first interface and a third sharing operation can be performed. For example, the user clicks on the sharing control, and at this time the terminal device responds to the third sharing operation input by the user, filters out applications that match the material type of the first material as selected applications, and generates a third application list for one or more selected applications obtained by filtering, and displays it in the fourth interface.
[0033] It should be noted that when the first material is a composite material, the application that matches the first material can be an application that matches the material type of each of the multiple single materials that make up the first material. In this way, the selected applications to be shared can ensure that the first material can be shared in its entirety and ensure the integrity of the shared first material. Optionally, the application that matches the first material can also be an application that matches the material type of some of the multiple single materials. In this way, the types and number of applications to be selected can be expanded, and the flexibility of material sharing can be improved.
[0034] When the user performs a second selection operation on the third application list to select the application to be shared, the terminal device shares the multiple single materials constituting the first material and the second association relationship between the multiple single materials to the application to be shared.
[0035] In this method, when sharing a composite material, the terminal device will share the multiple single materials that form the composite material to the application to be shared, and also share the association relationship between the multiple single materials, so that the information of the material obtained by the application to be shared is more complete. Based on this, after the application to be shared obtains the complete material information, it can split, reorganize, modify, etc. the composite material according to the obtained single materials and association relationships, which is more flexible and convenient to use.
[0036] In a possible implementation, sharing the multiple single materials and the second association relationships to the application to be shared includes: generating export data according to a preset format based on the multiple single materials and the second association relationships; and sharing the export data to the application to be shared.
[0037] The above-mentioned exported data can fully represent the multiple single materials that constitute the first material, as well as the second association relationship between the multiple single materials, so that the information of the materials known by the application to be shared is more comprehensive and complete. After the application to be shared receives the exported data, it can split, reorganize, modify, etc. the composite material based on the obtained single materials and association relationships, which is more flexible and convenient to use.
[0038] In a possible implementation, the composite material is an annotated image formed by inputting annotation content on a background image, the multiple single materials include background images and annotation content, and the second association relationship includes a relationship in which the annotation content is the content annotated on the background image.
[0039] When the composite material is an annotated image obtained by the user annotating the image while browsing the image, the single materials constituting the composite material may include the background image (the original image that the user has not annotated) and the annotation content entered by the user for annotation. Optionally, the annotation content may be text content entered by the user through the keyboard, or text, handwriting, etc. entered through a stylus. The second association relationship between the two single materials, the background image and the annotation content, is: the annotation content is the content annotated on the background image.
[0040] This method allows the application to be shared to directly obtain the single material of the background image after receiving the shared annotated image, without having to separate the image to achieve the operation of removing the annotations and restoring the original image (that is, restoring the background image); it can also directly obtain the annotation content without having to perform handwriting or text recognition to obtain the annotation content, which facilitates operations such as modification and editing of the annotation content, and is more flexible to use.
[0041] In one possible implementation, the exported data includes: serial numbers of the background image and annotation content, material types of the background image and annotation content, file links of the background image, text content or file links of the annotation content, annotation types of the background image and annotation content, and associated serial numbers of the annotation content, wherein the associated serial number of the annotation content is the serial number of the background image.
[0042] When the composite material is an annotated image formed by inputting annotation content on a background image, in the exported data, the background image as a single material is described by the serial number of the background image, the material type of the background image, and the file link of the background image, and the annotation content is described by the serial number of the annotation content, the material type of the annotation content, the file link of the approval content or the text content. Among the single materials that make up the composite material, although each single material has its own serial number, the serial number does not represent the order of each single material when there is no order between the single materials, but is used to mark different single materials. In the exported data, the second association relationship is described by the annotation type of the background image, the annotation type of the annotation content, and the associated serial number of the annotation content.
[0043] For the composite material of the annotated picture, the annotation type may include the background picture type, for example, it may be represented by OriPic in the exported data, indicating that the picture is the background picture of the annotated picture before the annotation; the annotation type may also include the annotation content type, for example, when the annotation content is the content input by handwriting, the annotation type may be represented by handwriting in the exported data. The serial number of the single material associated with the annotation content is recorded as the associated serial number. In the composite material of the annotated picture, if the single material associated with the annotation content is the background picture, the associated serial number of the annotation content is the serial number of the background picture, indicating that the annotation content is the content annotated on the associated background picture. Optionally, there may be multiple annotation contents. For example, when the user inputs multiple contents multiple times with a stylus, the annotation content input each time may be numbered separately.
[0044] In the exported data, the description of a single material can also be described by text content or file link. When the material type of a single material is a picture, video, audio, document or text with a large amount of data, the single material can be treated as a file and the corresponding file link can be used to indicate the single material; when the material type of a single material is text and the data amount is small, the text content can be directly used to describe the single material.
[0045] The above-mentioned exported data can clearly and accurately express the information of the annotated picture. After the sharing application receives the shared exported data, it can obtain the background picture by parsing the exported data, and can remove the annotations and restore the original picture without separating the pictures. It can also directly obtain the annotation content without handwriting or text recognition, which facilitates the modification and editing of the annotation content, making it more flexible to use.
[0046] In a possible implementation, when the composite material is an annotated picture, the plurality of single materials include, in addition to the background picture and the annotation content, a composite picture. The composite picture is a picture generated by merging the background picture and the annotation content, and the second association relationship also includes that the composite picture is a picture generated by merging the background picture and the annotation content.
[0047] Optionally, when sharing the composite material of the annotated image, you can also share the composite image generated by merging the background image and the annotation content to the application to be shared. It should be noted that the composite image is different from the annotated image in that although the display effect of the composite image is similar to that of the annotated image and can display the display effect of the background image superimposed with the annotation content, the composite image is a single material and does not separate the displayed annotation content from the background image.
[0048] When the terminal device shares the annotated image, it also shares the synthesized image to the application to be shared, which can ensure the integrity of the material sharing. The application to be shared can directly obtain the synthesized image with a synthetic display effect. When displaying the annotated image, the synthesized image can be directly displayed without synthesizing it according to the background image and the annotation content, which is more flexible and convenient to use.
[0049] In a possible implementation, the exported data also includes: the serial number of the composite image, the material type of the composite image, the file link of the composite image, the annotation type of the composite image and the associated serial number of the composite image, wherein the associated serial number of the composite image is the serial number of the background image.
[0050] In the exported data, the composite picture is described by the serial number of the composite picture, the material type of the composite picture, and the file link of the composite picture. The second association relationship is also described by the annotation type of the composite picture in the annotated picture and the associated serial number of the composite picture. Among them, the material type of the composite picture is picture. The annotation type of the composite picture is the composite picture type. For example, it can be represented by GrritfPic in the exported data, which means that the picture is a composite of the background picture and the annotation content; the serial number of the single material associated with the composite picture is recorded as the associated serial number. In the annotated picture, the single material associated with the composite picture is the background picture, and the associated serial number of the composite picture is the serial number of the background picture.
[0051] The above-mentioned exported data can clearly and completely express the information of the annotated picture. The application to be shared can directly obtain the synthetic picture with synthetic display effect by parsing the exported data. When displaying the annotated picture, the synthetic picture can be displayed directly without synthesizing according to the background picture and the annotation content. It is more flexible and convenient to apply.
[0052] In a possible implementation, the composite material is an excerpted video obtained by marking the excerpted content for the original video when performing video excerpting, and the multiple single materials include the original video and the excerpted content. The second association relationship includes: the excerpted content is the content marked on the original video, and the corresponding duration of the excerpted content in the original video.
[0053] When a user is browsing a video to make a video excerpt, the user can take a screenshot of the current video or input text, strokes and other annotations. We call these screenshots and the input text, strokes and other information excerpt content, and record the video carrying the excerpt content as an excerpt video. When the composite material is an excerpt video, the single material that constitutes the composite material may include the original video (the video without the user inputting the excerpt content) and the excerpt content input by the user. Optionally, the excerpt content can be the text content entered by the user through the keyboard, or it can be the text, handwriting and other content entered by the stylus, or it can be a screenshot of a certain frame of the original video taken by the user. The second association relationship between the original video and the excerpt content is: the excerpt content is the content marked on the original video, and the corresponding duration of the excerpt content in the original video. The annotation content is the content annotated on the background picture.
[0054] This method allows the application to be shared to directly obtain the original video as a single material after receiving the shared excerpt video, without the need to separate the materials to restore the original video by removing the excerpt content; it can also directly obtain the excerpt content without the need to perform screenshot extraction, handwriting or text recognition to obtain the excerpt content, which facilitates operations such as modification and editing of the excerpt content, and is more flexible to use.
[0055] In one possible implementation, the exported data includes: the serial numbers of the original video and the excerpted content, the material types of the original video and the excerpted content, the file link of the original video, the text content or file link of the excerpted content, the excerpt type of the original video and the excerpted content, the associated serial number of the excerpted content, and the corresponding length of the excerpted content in the original video; wherein the associated serial number of the excerpted content is the serial number of the original video, and the excerpted content includes text entered by the user, and / or screenshots taken from the original video.
[0056] In the exported data, for the composite material of the excerpt video, the excerpt type of a single material may include the original video type, for example, it may be represented by video in the exported data, indicating that the video is a video without marked excerpt content; the excerpt type may also include the text type input by the user, for example, it may be represented by text in the exported data; the excerpt type may also include the screenshot type, for example, it may be represented by shot in the exported data. The serial number of the single material associated with the excerpt content is recorded as the associated serial number of the excerpt content. In the composite material of the excerpt video, the single material associated with the excerpt content is the original video, then the associated serial number of the excerpt content is the serial number of the original video, indicating that the excerpt content is the content marked on the associated original video. Each excerpt content corresponds to a duration in the original video, indicating that the excerpt content is input when the original video is played to that duration. Optionally, there may be multiple excerpt contents, and the excerpt types of multiple excerpt contents may be the same or different.
[0057] The above-mentioned exported data can clearly and accurately express the information of the excerpted video. After receiving the shared exported data, the sharing application can obtain the original video by parsing the exported data, and there is no need to separate the excerpt content to realize the operation of de-extracting and restoring the original video; the excerpt content can also be directly obtained without handwriting or text recognition to obtain the excerpt content, which is convenient for modifying and editing the excerpt content, and is more flexible to use.
[0058] In a possible implementation, the method further includes: obtaining a sharing result, where the sharing result is used to indicate whether the first material is successfully shared to the application to be shared; and displaying the sharing result.
[0059] After the material is shared, the terminal device can also obtain the sharing result. The sharing result can be generated and displayed by the application to be shared based on the integrity of the received material; or the application to be shared returns the sharing result to the application of the material sharing party for display, for example, the application to be shared feeds back the sharing result to the global collection service, and the global collection service displays the sharing result. It should be noted that if the material is successfully shared to the application to be shared, the sharing result can be success; if the material is not successfully shared to the application to be shared, for example, the application to be shared fails to correctly receive or correctly parse the shared material, then the sharing result is failure.
[0060] In a possible implementation, when the sharing result is a failure, the sharing result also includes a failure parameter, and the failure parameter is used to characterize the cause of the failure.
[0061] Different failure parameters represent different reasons for failure. Failure reasons may include material types not being supported for some materials, parameter errors, and unknown errors. Failure parameters can accurately express the cause of failure, making it easier for users to trace back.
[0062] In a possible implementation, the material type includes any one or more combinations of text, document, picture, audio, video, web page and compressed package.
[0063] In a second aspect, a device for recommending applications based on material type is provided, comprising a unit composed of software and / or hardware, wherein the unit is used to execute any one of the methods in the technical solution described in the first aspect.
[0064] In a third aspect, an electronic device is provided, comprising: a processor, a memory and an interface; the processor, the memory and the interface cooperate with each other so that the electronic device executes any one of the methods in the technical solution described in the first aspect.
[0065] In a fourth aspect, an embodiment of the present application provides a chip, comprising a processor; the processor is used to read and execute a computer program stored in a memory to execute any one of the methods in the technical solution described in the first aspect.
[0066] Optionally, the chip also includes a memory, and the memory is connected to the processor via a circuit or wire.
[0067] Further optionally, the chip also includes a communication interface.
[0068] In a fifth aspect, a computer-readable storage medium is provided, in which a computer program is stored. When the computer program is executed by a processor, the processor executes any one of the methods in the technical solution described in the first aspect.
[0069] In a sixth aspect, a computer program product is provided, the computer program product comprising: a computer program code, when the computer program code is run on an electronic device, the electronic device executes any one of the methods in the technical solution described in the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0070] Figure 1 is a schematic diagram of the structure of a terminal device 100 provided in an embodiment of the present application;
[0071] Figure 2is a software structure block diagram of the terminal device 100 provided in an embodiment of the present application;
[0072] Figure 3 This is a schematic diagram of an interface of an example of a global favorite icon display mode provided in an embodiment of the present application;
[0073] Figure 4 This is a schematic diagram of the display state of a globally collected floating ball provided in an embodiment of the present application;
[0074] Figure 5 This is a schematic diagram of an interface when a global favorites panel is in an expanded state, provided in an embodiment of the present application;
[0075] Figure 6 This is a schematic diagram of an interface displayed when a global favorites panel is in a sidebar state, provided in an embodiment of the present application;
[0076] Figure 7 This is a schematic diagram of an interface for selecting a material in a global collection panel provided in an embodiment of the present application;
[0077] Figure 8 This is a schematic diagram of an interface of an example of a list of applications to be selected provided in an embodiment of the present application;
[0078] Fig. 9 This is a flow chart of a material sharing method provided in an embodiment of the present application;
[0079] Fig.10 This is another example of a material sharing method flow chart provided in an embodiment of the present application;
[0080] Fig.11 This is a schematic diagram of an example of interface changes when a user operates to share materials provided in an embodiment of the present application;
[0081] Fig.12 This is a software architecture diagram of a method for implementing material sharing provided in an embodiment of the present application. DETAILED DESCRIPTION
[0082] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.
[0083] In the following, the terms "first", "second", and "third" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first", "second", and "third" may explicitly or implicitly include one or more of the features.
[0084] The method for recommending applications based on material type provided in the embodiments of the present application can be applied to terminal devices such as mobile phones, tablet computers, wearable devices, vehicle-mounted devices, augmented reality (AR) / virtual reality (VR) devices, laptop computers, ultra-mobile personal computers (UMPC), netbooks, personal digital assistants (PDA), etc. The embodiments of the present application do not impose any restrictions on the specific types of terminal devices.
[0085] For example, Figure 1 1 is a schematic diagram of the structure of an example of a terminal device 100 provided in an embodiment of the present application. The terminal device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc.
[0086] Among them, the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0087] It is understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0088] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0089] The controller may be the nerve center and command center of the terminal device 100. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.
[0090] The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0091] In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0092] It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present application is only a schematic illustration and does not constitute a structural limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.
[0093] The charging management module 140 is used to receive charging input from a charger. The charger may be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 may receive charging input from a wired charger through the USB interface 130. In some wireless charging embodiments, the charging management module 140 may receive wireless charging input through a wireless charging coil of the terminal device 100. While the charging management module 140 is charging the battery 142, it may also power the terminal device through the power management module 141.
[0094] The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and provides power to the processor 110, the internal memory 121, the external memory, the display screen 194, the camera 193, and the wireless communication module 160. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle number, battery health status (leakage, impedance), etc. In some other embodiments, the power management module 141 can also be set in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be set in the same device.
[0095] The wireless communication function of the terminal device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
[0096] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Figure 1 The structures of antenna 1 and antenna 2 in the figure are only an example. Each antenna in the terminal device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of the antennas. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.
[0097] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the terminal device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.
[0098] The modem processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After the low-frequency baseband signal is processed by the baseband processor, it is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to a speaker 170A, a receiver 170B, etc.), or displays an image or video through a display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be arranged in the same device as the mobile communication module 150 or other functional modules.
[0099] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the terminal device 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0100] In some embodiments, the antenna 1 of the terminal device 100 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the terminal device 100 can communicate with the network and other devices through wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-CDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a BeiDou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).
[0101] The terminal device 100 implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or change display information.
[0102] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the terminal device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.
[0103] The terminal device 100 can realize the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.
[0104] ISP is used to process the data fed back by camera 193. For example, when taking a photo, the shutter is opened, and the light is transmitted to the camera photosensitive element through the lens. The light signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to ISP for processing and converts it into an image visible to the naked eye. ISP can also perform algorithm optimization on the noise, brightness, and skin color of the image. ISP can also optimize the exposure, color temperature and other parameters of the shooting scene. In some embodiments, ISP can be set in camera 193.
[0105] The camera 193 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, and then passes the electrical signal to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some embodiments, the terminal device 100 may include 1 or N cameras 193, where N is a positive integer greater than 1.
[0106] The digital signal processor is used to process digital signals, and can process not only digital image signals but also other digital signals. For example, when the terminal device 100 is selecting a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.
[0107] Video codecs are used to compress or decompress digital videos. The terminal device 100 may support one or more video codecs. Thus, the terminal device 100 may play or record videos in various coding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
[0108] NPU is a neural network (NN) computing processor. By drawing on the structure of biological neural networks, such as the transmission mode between neurons in the human brain, it can quickly process input information and can also continuously self-learn. Through NPU, applications such as intelligent cognition of the terminal device 100 can be realized, such as image recognition, face recognition, voice recognition, text understanding, etc.
[0109] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the terminal device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function, such as storing music, video and other files in the external memory card.
[0110] The internal memory 121 can be used to store computer executable program codes, which include instructions. The processor 110 executes various functional applications and data processing of the terminal device 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area can store data created during the use of the terminal device 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.
[0111] The terminal device 100 can implement audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.
[0112] The audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be arranged in the processor 110, or some functional modules of the audio module 170 can be arranged in the processor 110.
[0113] The speaker 170A, also called a "speaker", is used to convert an audio electrical signal into a sound signal. The terminal device 100 can listen to music or listen to a hands-free call through the speaker 170A.
[0114] The receiver 170B, also called a "handset", is used to convert audio electrical signals into sound signals. When the terminal device 100 receives a call or voice message, the voice can be received by placing the receiver 170B close to the ear.
[0115] Microphone 170C, also called "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can speak by putting their mouth close to the microphone 170C to input the sound signal into the microphone 170C. The terminal device 100 can be provided with at least one microphone 170C. In other embodiments, the terminal device 100 can be provided with two microphones 170C, which can not only collect sound signals but also realize noise reduction function. In other embodiments, the terminal device 100 can also be provided with three, four or more microphones 170C to realize the collection of sound signals, noise reduction, identification of sound sources, realization of directional recording function, etc.
[0116] The earphone interface 170D is used to connect a wired earphone and can be a USB interface 130 or a 3.5 mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.
[0117] The key 190 includes a power key, a volume key, etc. The key 190 may be a mechanical key or a touch key. The terminal device 100 may receive key input and generate key signal input related to user settings and function control of the terminal device 100.
[0118] Motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, audio playback, etc.) can correspond to different vibration feedback effects. For touch operations acting on different areas of the display screen 194, motor 191 can also correspond to different vibration feedback effects. Different application scenarios (for example: time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.
[0119] Indicator 192 may be an indicator light, which may be used to indicate charging status, power changes, messages, missed calls, notifications, etc.
[0120] The SIM card interface 195 is used to connect a SIM card. The SIM card can be connected to and separated from the terminal device 100 by inserting the SIM card interface 195 or pulling it out from the SIM card interface 195. The terminal device 100 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, and the like. Multiple cards can be inserted into the same SIM card interface 195 at the same time. The types of the multiple cards can be the same or different. The SIM card interface 195 can also be compatible with different types of SIM cards. The SIM card interface 195 can also be compatible with external memory cards. The terminal device 100 interacts with the network through the SIM card to implement functions such as calls and data communications. In some embodiments, the terminal device 100 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the terminal device 100 and cannot be separated from the terminal device 100.
[0121] The software system of the terminal device 100 may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The present application embodiment takes the Android system of the layered architecture as an example to exemplify the software structure of the terminal device 100.
[0122] Figure 2 1 is a software structure diagram of the terminal device 100 of the embodiment of the present application. The layered architecture divides the software into several layers, each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom, namely, the application layer, the application framework layer, the Android runtime (Android runtime) and the system library, and the kernel layer. The application layer can include a series of application packages.
[0123] like Figure 2As shown, the application package may include camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message and other applications.
[0124] The application framework layer provides an application programming interface (API) and a programming framework for the applications in the application layer. The application framework layer includes some predefined functions.
[0125] like Figure 2 As shown, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.
[0126] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.
[0127] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.
[0128] The view system includes visual controls, such as controls for displaying text, controls for displaying images, etc. The view system can be used to build applications. A display interface can be composed of one or more views. For example, a display interface including a text notification icon can include a view for displaying text and a view for displaying images.
[0129] The phone manager is used to provide communication functions of the terminal device 100, such as management of call status (including connection, disconnection, etc.).
[0130] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.
[0131] The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as notifications of applications running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is displayed in the status bar, a prompt sound is emitted, the terminal device vibrates, the indicator light flashes, etc.
[0132] Android runtime includes core libraries and virtual machines. Android runtime is responsible for scheduling and management of the Android system.
[0133] The core library consists of two parts: one part is the function that needs to be called by the Java language, and the other part is the Android core library.
[0134] The application layer and the application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.
[0135] The system library may include multiple functional modules, such as surface manager, media libraries, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
[0136] The surface manager is used to manage the display subsystem and provide the fusion of 2D and 3D layers for multiple applications.
[0137] The media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
[0138] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0139] A 2D graphics engine is a drawing engine for 2D drawings.
[0140] The kernel layer is the layer between hardware and software. The kernel layer contains at least display driver, camera driver, audio driver, and sensor driver.
[0141] For ease of understanding, the following embodiments of the present application will be described in detail with Figure 1 and Figure 2 Taking the terminal device of the shown structure as an example, the material sharing method provided in the embodiment of the present application is specifically explained in combination with the accompanying drawings and application scenarios.
[0142] With the development of terminal devices, the functions of terminal devices are becoming increasingly rich, and people use terminal devices in more and more scenarios. In daily work and life, there are often scenarios of cross-application material sharing. For example, in the scenario where a user wants to share multiple collected materials to a chat application and then share them with others. A common sharing method is that the user can select multiple different types of materials to share, and share them to the chat application through the system's native sharing function, for example, it can be shared to a selected contact in the chat application, and then the chat interface of the contact can display the above-mentioned multiple shared materials. In the common sharing method, after the user selects multiple materials to share together, the chat application will display these multiple materials according to its own function settings. For example, when the multiple materials shared together include pictures and documents, the chat application can display them according to its own default display order, such as displaying pictures first and then documents. However, the default display order of the chat application may not meet the user's display intention when sharing, resulting in a poor user experience.
[0143] In an embodiment of the present application, when a terminal device shares multiple materials with a third-party application, in addition to sharing the materials themselves, the association relationship between the multiple materials is also shared with the third-party application. This method enables the third-party application to obtain the association relationship between the multiple materials while obtaining multiple materials, so the information obtained is more comprehensive. Based on this, the third-party application can present the multiple shared materials according to the association relationship, which meets the user's sharing intention and improves the user experience. In addition, the third-party application can also sort, split, reorganize, modify, and other operations on the shared multiple materials according to the acquired association relationship, which is more flexible and convenient to use.
[0144] In order to clearly introduce the technical solutions and technical effects of the embodiments of the present application, the use scenarios of this case are first introduced here. The technical solution of the present application can be used in the scenario of sharing multiple materials. It should be noted that the materials mentioned in the embodiments of the present application may include but are not limited to files of various material types, such as documents, videos, audios, pictures, texts, web pages, etc. Optionally, the technical solutions of the embodiments of the present application can be applied in the global collection service (CollectCenterKit), can also be applied in the note APP, and can also be applied in other APPs, which are not limited by the embodiments of the present application. The following is an exemplary description of the application of this case in the global collection service. The global collection service mentioned in this article can be presented as a global collection APP. For the sake of simplicity, the global collection APP will be referred to as the global collection for description below.
[0145] Exemplarily, the user can collect the content that interests him or her to the global collection one by one while using the terminal device. The global collection can support the collection of materials across applications and devices, and can improve the efficiency of users in collecting and using materials through simple and efficient interactive methods. After the global collection is installed on the terminal device, the icon of the global collection can be displayed on the desktop like the icons of other applications. The user can click on the icon of the global collection to open the global collection panel, and the global collection panel is in an expanded state. Optionally, the global collection can also be displayed in the form of a floating ball on the desktop or other application interface. The user can drag the floating ball to change the floating position of the floating ball, or click on the floating ball to open the global collection panel. At this time, the global collection panel can be displayed in the form of a sidebar, and the collected materials can be displayed in the sidebar. When the user clicks on the expansion control of the sidebar, all collection panels are displayed in an expanded state. In some embodiments, the display method of the global collection icon and the floating ball can be referred to. Figure 3 Typically, if the user does not perform a favorite action, the global favorite floating ball can be hidden or semi-hidden and displayed at the edge of the screen. Figure 3 The floating ball of the global favorites is shown as a semi-hidden display at the edge of the screen.
[0146] Users can drag the content they are interested in to the corresponding position of the global collection to add it to the collection, for example, they can drag it to the position of the global collection icon on the desktop, or to the area of the global collection floating ball, or to the global collection panel to add the material to the collection. When the user drags a material, the global collection floating ball can also change from the original semi-hidden display state to the fully displayed state to facilitate receiving the material dragged by the user. Figure 4 This is a schematic diagram of the display state of the global collection floating ball when the user drags a picture in the picture preview interface of the album APP. For example, when the user is browsing a web page, he can perform a three-finger swipe operation. At this time, the terminal device recognizes that the user wants to collect the web page, and then a collection prompt box can be displayed. The prompt box may include a prompt message of "Web page collection from the browser", indicating that the web page will be collected in the note APP; optionally, the prompt box may also display an optional item of "Also keep to global collection". If the user does not need to collect the web page to the global collection, the optional item can be unchecked in front of it. If the user needs to collect the web page to the global collection, the optional item of "Also keep to global collection" needs to be checked. The user can also slide down and drag with three fingers on the interface of the web page, and drag it to the area of the global collection floating ball without letting go, so that the web page can be added to the global collection.
[0147] Optionally, the global collection can also automatically receive files received by third-party applications such as chat APP (i.e., chat application, chat application program, chat software), email APP, browser, etc. Optionally, the global collection can also automatically save composite materials generated by operations such as global annotations and video excerpts.
[0148] It should be noted that composite material refers to a combination of multiple single materials. A composite material can only display one icon in the global collection panel, but can contain multiple single materials of the same or different types. The single material involved in the embodiment of the present application is a concept relative to the composite material. For example, the annotated picture obtained by global annotation is a composite material, and the composite material is composed of three single materials: an unannotated background picture, annotated content, and a composite picture. Among them, the composite picture is a picture that displays the annotation content superimposed on the background picture, and the background picture, the annotation content, and the composite picture are all single materials. For another example, the excerpted video obtained by video excerpt is a composite material, and the composite material is composed of three single materials: the original video, the screenshot in the original video, and the annotated text in the original video. The embodiment of the present application does not limit the material type and collection method of the material.
[0149] When the user wants to share the materials collected in the global collection, he can click the global collection icon on the desktop or click the floating ball of the global collection to open the global collection panel. Figure 5 This is a diagram of the interface when the global favorites panel is expanded. Figure 5 The types and quantities of the collected materials are only examples and are not intended to limit the technical solutions of the embodiments of the present application. Figure 5 The global collection panel in the , can also include search controls, filter controls and menu controls. Users can click the search control to bring up the search bar, and enter the information of the material to be searched in the search bar to search for the required material in the global collection; users can also click the filter control to filter the materials in the global collection; users can also click the function control to bring up the function menu.
[0150] If the user clicks the floating ball to display the global favorites panel, the global favorites panel will be in the sidebar state. For example, see Figure 6 The interface shown. Figure 6The sidebar shown may also include functional controls. If there are no collection materials in the global collection, a prompt message indicating that there is no content may be displayed in the panel of the global collection. If there are many materials in the global collection, the user may also drag the slider of the sidebar to switch to display other undisplayed materials. When the panel of the global collection is in the sidebar state, it may also include maximize controls and minimize controls. When the user clicks the maximize control, the panel of the global collection may switch from the sidebar state to the expanded state; when the user clicks the minimize control, the panel of the global collection may switch from the sidebar state to the floating ball state. The user may select multiple materials in the panel of the global collection for sharing, either when the panel of the global collection is in the expanded state or when the panel of the global collection is in the sidebar state. The following describes the sharing process of multiple materials by taking the panel of the global collection in the expanded state as an example.
[0151] by Figure 5 For example, the global collection panel shown in the figure can be used as an example. Users can click on the material to be shared on the interface. For example, users can long press the icon of a material they want to share. At this time, the global collection panel can be displayed to enter the selection mode. For details, please refer to Figure 7 The interface shown. Figure 7 In the example, the user selects the first three materials: text 1 from the web page, picture 1 from the gallery, and picture 2 from the web page. Figure 7 In the selection mode shown, select any one or more materials in the panel to share. When the user has selected the materials to be shared, click Figure 7 At this time, a pop-up sharing window may be displayed on the interface, and the sharing window may include a list of applications to be selected (also called a list of applications to be selected). For details, see Figure 8 The list shown is formed by Application 1, Application 2, Application 3 and Application 4. Figure 8 It may also include some default application icons, including but not limited to network disk, short video, WLAN direct connection, email, notes and social applications, etc. These default application icons are icons of system native applications that can support sharing. Figure 8 The save control and print control can also be included in the system for saving and printing respectively. Figure 8 In the sharing window shown, select the icon of the application to be shared, for example, click on the icon of one of the third-party applications, so as to share the material to the third-party application. Figure 8The list of applications to be selected in the example is shown as icons arranged vertically, and optionally, the icons in the list of applications to be selected can also be arranged horizontally or in other forms. The user selects the icon of the third-party application to be shared from the list, for example, clicks the icon of application 1, and multiple materials can be shared to application 1.
[0152] To share multiple materials in the global collection to third-party applications, it is necessary to ensure the legitimacy of the third-party applications that access the global collection. Then the third-party application needs to apply for registration through the open platform of the global collection during the development stage, specifically to add a SHA256 fingerprint certificate. After the open platform is reviewed and approved, the third-party application is successfully registered. It should be noted that the developers of the third-party platform manufacturers (non-system manufacturers) will develop applications based on the open source system to obtain applications that can be installed and run in the system. This type of application is referred to as a third-party application in this application. After successful registration, the third-party application can obtain its own unique identification (APP ID) recognized by the open platform of the global collection, and at the same time generate a signed fingerprint certificate and place it on the open platform of the global collection, so as to apply for the activation of the global collection service, thereby obtaining the right to access the global collection, that is, to verify the authenticity of the third-party application. Usually, the SHA256 certificate fingerprint supports the input of up to 6 new SHA256 certificate fingerprints. If more than 6 are added, the input of new certificate fingerprints is no longer supported.
[0153] The above open platform can generate an authentication configuration file based on the signed fingerprint certificate. The third-party application needs to add the authentication configuration file to the root directory of the third-party application and package and compile it. Taking the system as an example, during the packaging and compilation process of the third-party application, the identification data (such as meta data) will be automatically added to the authentication configuration file (such as AndroidMenifest.xml). The identification data can be used to identify whether the third-party application uses the open capability of the global collection, that is, whether the third-party application has the authority to access the global collection and whether it uses the unified interface specification opened by the global collection. When the third-party application is installed on the system installed on the terminal device, it needs to be statically registered in the system. During the static registration process, the authentication configuration file of the third-party application (that is, the AndroidMenifest.xml file) will be released, and the authentication configuration file includes the logo data meta data. When sharing materials, the terminal device can query the meta data in the authentication configuration file of each third-party application and check whether the meta data meets the requirements for accessing the global collection. If it meets the requirements, it means that the third-party application can access the global collection, allowing the third-party application to be selected to receive the shared materials; if it does not meet the requirements, it means that the third-party application cannot access the global collection and the third-party application cannot receive the shared materials.
[0154] If a third-party application is successfully registered on the open platform of the global collection, the generated meta data will meet the requirements for accessing the global collection. At this time, the identity authentication of the third-party application can be passed, and the icon of the third-party application can be allowed to be displayed in the above Figure 8 In the list of applications to be shared in the sharing window shown in the figure, if the third-party application has not been registered on the open platform of the global collection or the registration is unsuccessful, then the meta data will not meet the requirements for accessing the global collection, and the identity authentication of the third-party application will fail. In other words, the third-party application does not have the permission to access the global collection, which is the above Figure 8 The icon of the third-party application will not be displayed in the list of applications to be shared in the sharing window shown. The above process of determining whether the third-party application has the legitimacy to access the global collection can also be called the kit access capability authentication process of the third-party application, and can also be called the verification process of the third-party application. The authentication method that verifies whether the identification data meets the requirements for accessing the global collection can improve the authentication efficiency compared with other authentication methods.
[0155] Specifically, to achieve material sharing, third-party applications need to follow the interface specifications that are unified with global collections. An implementation method for the definition of specific interfaces and parameters can be seen in Table 1.
[0156] As shown in Table 1, the parameters that the global collection needs to pass to the third-party application are divided into intent type and request code type. Among them, the parameters of the intent type include: action, mimeType, package and content. Specifically, action is the action in the intent-filter of the component Activity that receives the data exported from the global collection (which is also the material to be shared through the global collection); mimeType is the mimeType of the receivable data (material) type added in the intent-filter of the Activity that receives the data exported from the global collection. The mimeType can use the industry standard mimeType type; package is the package name of the third-party application itself; content is the data exported from the global collection, which can be in json string format and can include content or file links (uri). The parameters of the request code type include requestCode, which is the original value transparent transmission method when the third-party application returns the sharing result, and the data type is int. It should be noted that the original value transparent transmission refers to a data transmission method that is independent of the medium, modulation and demodulation method, transmission method, and transmission protocol of the transmission network.
[0157] Table 1
[0158]
[0159] Continuing to refer to Table 1 above, the parameters that the third-party application needs to pass to the global collection are divided into int type and intent type. Among them, the int type parameters include request code and result code. Among them, the request code is requestCode, which is used by the global collection to determine the identity of the third-party application as the returner when the sharing result returned by the third-party application is received; the result code is resultCode, which is used by the global collection to determine the sharing result returned by the returner. Intent type data includes data, which represents the sharing result returned by the third-party application to the global collection, which can be in the format of a Json string. Optionally, the sharing result can also be delivered in the form of broadcasting. The third-party application can broadcast the data carrying the sharing result in a broadcasting manner, and the global collection receives the broadcast to obtain the data, thereby obtaining the sharing result.
[0160] Next, based on the interface and parameter descriptions shown in Table 1 above, the material sharing method of this case is fully introduced. Fig. 9 The interaction diagram shown includes:
[0161] S901: Receive a sharing operation performed by a user.
[0162] Specifically, the user selects the material to be shared in the global collection panel and then clicks the share control, which is the sharing operation. Figure 7 In the interface shown, the user selects three materials: text 1 from a web page, picture 1 from a gallery, and picture 2 from a web page, and then clicks the sharing control at the bottom of the screen. At this time, the terminal device receives the sharing operation performed by the user.
[0163] Taking the materials to be shared as the first material and the second material as an example, when the user selects the first thumbnail corresponding to the first material and the second thumbnail corresponding to the second material, the first sharing operation is performed to trigger sharing.
[0164] S902: In response to the user's sharing operation, the global collection verifies and filters third-party applications.
[0165] The process of verifying and filtering third-party applications is the process of accessing third-party applications to global collections. This process can be the process of configuring relevant parameters in AndroidManifest.xml. Specifically, it can include two processes. Process one is the configuration process of the above-mentioned APP ID, that is, the verification process of third-party applications. Process two is the configuration process of the type of received materials, that is, the filtering process of third-party applications, specifically:
[0166] Process 1: The configuration process of APP ID can be as follows: the third-party application to be connected to the global collection must be pre-registered on the open platform of the global collection (also called the developer service platform), that is, execute S901', so as to obtain its own exclusive APP ID, that is, S901". When the third-party application is connected to the global collection, the APP ID can be configured in the meta-data of AndroidManifest.xml. A specific code example that can be implemented can be seen as follows in AndroidManifest.xml <application>Define the following meta data:
[0167] <meta-data android:name="com.XXX.mcs.client.appid"
[0168] android:value="220482xxx" / >
[0169] The meta-data corresponding to "com.XXX.mcs.client.appid" is set to the APP ID of the third-party application. The APP ID in the configuration file of the third-party application must be consistent with the signature information reserved when the third-party application is registered on the open platform in order to pass the verification (that is, pass the identity authentication of the third-party application). This process is the legitimacy verification of the third-party application.
[0170] The terminal device can use the verification process to verify multiple initial application programs installed on the terminal device, and obtain one or more legitimate application programs that have the authority to access the global collection.
[0171] Process 2: The configuration process of the material type of the received material may be: the terminal device may exclude third-party applications that do not match the material type of the material to be shared according to the material type of the material to be shared, and select third-party applications that match the material type of the material to be shared.
[0172] If the material type of the material to be shared is a type supported by the third-party application, it means that the material type of the third-party application and the material to be shared match; if the material type of the material to be shared is not a type supported by the third-party application, it means that the material type of the third-party application and the material to be shared do not match. The matching of the material type of the third-party application and the material to be shared indicates that the third-party application can receive, parse, identify or display the material of this type; the mismatch of the material type of the third-party application and the material to be shared indicates that the third-party application cannot normally receive, parse, identify or display the material of this type. For example, if the material to be shared is a picture, and the third-party application is an application such as a picture browser or a chat application that can receive, parse or display pictures, it means that the material type of the third-party application and the material to be shared match, that is, the third-party application supports the material type of the material to be shared; but if the third-party application is an application such as a text editor that cannot normally parse or display pictures, it means that the material type of the third-party application and the material to be shared do not match, that is, the third-party application does not support the material to be shared.
[0173] Optionally, the specific implementation method of configuring the material type of the received material can be the process of configuring the intent-filter of the component (Activity) that receives the material. The third-party application can provide an Activity to the outside world, and the Activity will add a class action in the intent-filter of AndroidManifest.xml. The action can include a description of the material type (mimeType) of the material that the third-party application can support. The specific code example can be:
[0174]
[0175] The above code example indicates that when the class exposed by the third-party application is "ACTION_EXPORT_DATA", it can support the sharing of image (inage) and audio (audio) type materials. If the third-party application can also support other types of materials, you can continue to add the code description of the material type of mimeType.
[0176] When configuring the material type of the received material, the terminal device can filter out at least one candidate application that matches the material type based on the material types of multiple materials. For example, it can filter out at least one candidate application that matches the material type from at least one legitimate application that has passed verification.
[0177] Optionally, the terminal device may first configure the material type of the received material in its own installed applications, filter out some applications, and then verify these applications to select legitimate applications as candidate applications. This embodiment of the present application does not limit this.
[0178] For example, the terminal device may filter and obtain a list of candidate application programs according to the material types of the first material and the second material, record the list as a first application list, and display the list in the interface.
[0179] In order to clearly describe how the terminal device filters applications and obtains candidate applications, the material type composition of the shared material is first introduced in detail:
[0180] In the embodiment of the present application, the material to be shared is the material that the user wants to share, which may include one material or multiple materials. These materials may be composite materials, single materials, or a combination of composite materials and single materials. When it is a single material, the material type may be any one of text, document, picture, audio, video, and web page; when it is a composite material, the material type may be any one of text, document, picture, audio, video, and web page, or a combination of multiple of them. The material types of these multiple materials may be the same or different.
[0181] Optionally, if multiple materials in the material to be shared are all single materials, then the material to be shared is a collection of multiple single materials. Among them, single material is a concept compared to composite material, which is a material formed by a single file, such as a single picture, a single text, a single document, a single audio or a single video. Composite material can be a combination of multiple single materials of the same or different material types and with an associated relationship. For example, a picture with annotations is a composite material, in which the annotated text and the picture are both single materials, and the two constitute a composite material; the excerpted video obtained by video excerpt is a composite material, and the annotated text in the excerpted video and the original video obtained by excerpting are both single materials, and the two constitute a composite material.
[0182] Optionally, the material to be shared may also be a combination of a single material and a composite material, such as an excerpt video obtained by extracting a single picture or video.
[0183] In the case where the material types of the material to be shared are multiple, the terminal device can select an application that supports all material types as the selected application (that is, select the intersection of the initial application set below), or select an application that supports one material type or some material types of the material types of all materials as the selected application (that is, select the union of the initial application set below). Specifically:
[0184] For each material, the terminal device first selects the application programs that support the material type of the material to form an initial application program set, thereby obtaining a one-to-one initial application program set that supports each material. Afterwards, the candidate application programs can be determined using method one or method two.
[0185] Method 1: The terminal device can use the intersection of each initial application set as the candidate application. For example, the applications supporting material 1 are set 1 formed by application 1, application 2 and application 3, and the applications supporting material 2 are set 2 formed by application 1, application 2 and application 4. Then, the intersection of set 1 and set 2 can be taken to obtain application 1 and application 2. At this time, application 1 and application 2 are the determined candidate applications.
[0186] By adopting the method 1, the selected application can support all types of materials to be shared, and there will be no sharing failure caused by the material type not supported by the application to be shared, so the success rate of material sharing is high.
[0187] Method 2: The terminal device can use the union of each initial application set as the candidate application. For example, the applications supporting material 1 are set 1 formed by application 1, application 2 and application 3, and the applications supporting material 2 are set 2 formed by application 1, application 2 and application 4. Then, the intersection of set 1 and set 2 can be taken to obtain application 1, application 2, application 3 and application 4. At this time, application 1, application 2, application 3 and application 4 are the determined candidate applications.
[0188] The types of applications to be selected obtained by method 2 may be more than those obtained by method 1, so there are more choices of applications that can be shared, making the sharing scenarios richer. Of course, if there is a situation where the selected application does not support one of the materials, the sharing of the material may fail. At this time, the terminal device can prompt the material that failed to be shared. The specific method of prompting can also be found in the description of the sharing results below, which will not be repeated here.
[0189] After the terminal device determines at least one application to be selected, the icons of all the application to be selected may be displayed in a list on the sharing interface, for example Figure 8 About Figure 8 The description of the sharing interface in can be found in the above description. At this time, the user can click on the application that the user wants to share from application 1, application 2, application 3 and application 4 as the application to be shared.
[0190] Fig.10 A flowchart of a material sharing method provided in an embodiment of the present application includes:
[0191] S1001. Obtain material to be shared.
[0192] Specifically, the material to be shared may be the material selected by the user and needs to be shared to a third-party application, such as Figure 7 In the user interface shown, the three materials selected by the user are the materials to be shared, namely, text 1 from a web page, picture 1 from a gallery, and picture 2 from a web page. When the user selects the materials to be shared, the global collection can obtain the materials to be shared that the user wants to share.
[0193] S1002: When the material to be shared includes multiple materials, obtain the association relationship between the multiple materials.
[0194] Specifically, multiple materials are associated with each other.
[0195] Optionally, if the multiple materials are all single materials, the association relationship may include the order of the multiple single materials. The order of the multiple single materials can be expressed by numbering each single material, that is, marking each single material with a corresponding serial number in order. The order of the multiple single materials can be the order in which each single material is added to the global collection, or the order in which the user selects the single material, which is not limited in the embodiments of the present application.
[0196] Optionally, if the material to be shared is a composite material, for example, the material to be shared is an excerpt video. At the T1 time of the excerpt video, the user inputs the annotation content 1, and at the T2 time of the excerpt video, the user captures the excerpt content 2. Figure 1 Then for the excerpt video, the single material that constitutes the excerpt video includes the original video before annotation and screenshot, the annotation content 1 and the screenshot. Figure 1 The association relationship includes: Annotation content 1 is the annotation content at T1 of the original video, Figure 1 is a screenshot taken at T2 of the original video. That is, when the material to be shared is a composite material, the association relationship is the relationship between the single materials that make up the composite material.
[0197] Optionally, if the material to be shared is an excerpt video and a picture, the association relationship includes the order of the excerpt video and the picture, and also includes the original video, the annotation content 1 and the screenshot forming the excerpt video. Figure 1 The relationship between these three single materials. That is, when the material to be shared includes both a composite material and other single materials (single materials that are not members of the composite material), the association relationship may include the order between the composite material and the other single materials, as well as the relationship between the single materials that make up the composite material.
[0198] S1003: Share the to-be-shared material and its associated relationship to the to-be-shared application.
[0199] Specifically, the global collection can share the to-be-shared material and the association relationship to the to-be-shared application. Optionally, the global collection can share the material itself of multiple single materials and the sequence between the multiple single materials to the to-be-shared application.
[0200] Based on this, the application to be shared can not only obtain multiple single materials, but also obtain the association relationship between multiple single materials. For example, the application to be shared can obtain the order between multiple materials, so that the multiple materials can be displayed in order.
[0201] Fig.10 In the embodiment shown, when the global collection shares materials with third-party applications, in addition to the materials themselves, the associations between the materials are also shared, so that the information of the materials obtained by the third-party applications is more comprehensive. Based on this, after the third-party applications obtain comprehensive information, they can present the materials according to the obtained associations, meet the user's sharing intentions, and improve the user experience. In addition, the third-party applications can also sort, split, reorganize, modify, and other operations on the shared materials according to the obtained associations, which is more flexible and convenient to use.
[0202] Next, the technical solution of the embodiment of the present application is described in detail according to the composition of different materials to be shared.
[0203] When the material to be shared is a plurality of independent single materials (single materials that do not belong to the same composite material), for example, separate pictures and texts, the user clicks on picture a, text b, and picture c in the global collection panel according to his or her sharing intention. At this time, the global collection recognizes the user's sharing operation, and can determine that the user needs to share the three single materials of picture a, text b, and picture c, and obtains the association relationship of the order in which the user clicks on the single materials. Then, picture a, text b, and picture c, as well as the order of the three, can be used to generate a character string in a preset format, which is sent as export data to the application to be shared. In this way, after receiving the character string in the preset format, the application to be shared can parse it, for example, parse to obtain picture a, text b, and picture c, as well as the order of the three, and then display it in the order of the materials, and the order of display conforms to the user's intention. For a detailed description of the preset format, please refer to the description below, which will not be repeated here.
[0204] When the material to be shared is a composite material, such as an annotated picture obtained by global annotation, denoted as picture d, the user selects picture d in the global collection panel and clicks the share control. At this time, the global collection recognizes the user's sharing operation and can determine that the user needs to share the composite material picture d. Although the picture d can be displayed as a thumbnail in the global collection panel, the global collection can obtain the two single materials of picture d' before the annotation and the annotation content e on picture d', and obtain the association relationship that the annotation content e is the annotation content of picture d'. Optionally, the global collection can also obtain the single material of the composite picture synthesized by picture d' and annotation content e, denoted as picture d", and obtain the association relationship that picture d" is the composite picture of picture d' and annotation content e. The global collection can generate a character string in a preset format based on the association relationship between the obtained single materials and the single materials, and then send the character string in the preset format to the application to be shared. After receiving the string in the preset format, the application to be shared will parse it and obtain three single materials: picture d', picture d", and annotation content e. It can also learn the association relationship between the three program materials. The association relationship specifically includes: picture d' is the unannotated background picture, annotation content e is the content annotated on picture d', and picture d" is a composite picture of the annotation content and picture d'. Based on this, the application to be shared can flexibly operate on the parsed content.
[0205] Optionally, when the material to be shared is a composite material, after the application to be shared receives a string in a preset format representing the composite material, although it can parse multiple program materials and their associations, it can still only display one icon to represent the composite material as in the global collection panel. For example, after receiving the picture d, the application to be shared may display the picture d in the form of a thumbnail, or display an icon of a composite picture d". At this time, if the user wants to remove the annotations and restore the original picture, the operation can be performed in the application to be shared. Although the display effect of the picture d at this time is the same or similar to that of the picture d", since the character string in the preset format received by the application to be shared can be parsed to obtain the three single materials of the picture d', the picture d" and the annotation content e, when the user opens and previews the picture d, the user can click on the area where the annotation content e on the picture d is located. The application to be shared may assume that the user's intention at this time is to select the annotation content e, and may display the selected state of the annotation content e; or may enter the editing state of the annotation content e, such as displaying the annotation content e as a highlighted state, or displaying an editing bar around the annotation content e. At this time, if the user clicks the delete control, the selected annotation content e can be deleted, and the picture d' can be retained as the background picture. Then, the user clicks the save control to save a separate picture without the annotation content e. The background image d' of the annotation content e is used to realize the operation of removing the annotation and restoring the original image. Optionally, when the annotation content e enters the editing state, the user can also edit the annotation content. For example, the user can delete, modify or add the text of the annotation content e through the keyboard. Optionally, when the annotation content e is the content input by the stylus, if the application to be shared can support the algorithm of the stylus during input, then when the annotation content e is in the editing state, the application to be shared can recognize the handwriting input by the stylus. The user can move the position of the handwriting by dragging the handwriting of the stylus on the screen of the terminal device; the curve of the handwriting of the stylus can also be stretched to change the shape and size of the curve; the menu control of the stylus can also be clicked in the editing state to call out the menu bar, and then various tool controls can be used in the menu bar to change the color of the handwriting of the stylus, modify the thickness of the handwriting of the stylus, and other related operations, which will not be listed one by one in this embodiment. Therefore, the application to be shared can flexibly use the material to be shared to meet various needs and has a wide range of application scenarios.
[0206] When the material to be shared is a composite material, such as an excerpt video obtained by extracting a video, the excerpt video is recorded as video f. The user clicks on video f in the global collection panel and clicks on the share control. At this time, the global collection recognizes the user's sharing operation and can determine that the user needs to share the composite material video f. The video f has an excerpt content at the duration T1, which is the text content annotated by the user, recorded as annotation content 1; and an excerpt content at the duration T2, which is a screenshot at that duration, recorded as screenshot content 1. Figure 1 Although the video f can be displayed as a thumbnail in the global collection panel, in the global collection, the video f is the original video before annotation, recorded as video f', as well as the annotation content 1 and the screenshot. Figure 1 The three single materials form a composite material. The global collection can generate a string of preset format from the three single materials and the relationship between the three single materials, and then send the string of preset format to the application to be shared. After receiving the string of preset format, the application to be shared parses it and obtains the video f', the screenshot Figure 1 and annotation content 1, the three single materials can also be learned, and the association relationship between the three single materials includes: video f' is the original video without annotations, annotation content 1 is the excerpt added at the T1 duration of video f', and the clip Figure 1 It is a picture captured at the time T2 of the video f'. Based on this, the application to be shared can flexibly operate on the parsed content.
[0207] Optionally, when the material to be shared is an excerpt video obtained by extracting a video, the excerpt video can be recorded as video f. After the application to be shared receives video f, if the user wants to remove the annotations and restore the original video, the operation can be performed in the application to be shared. Figure 1 And the three single materials of annotation content 1 and the corresponding association relationships. When the user opens and previews the video f in the application to be shared, he can click on the annotation content 1 of the video f at the duration of T1. The application to be shared can think that the user's intention at this time is to select the annotation content 1, and can display the selected state of the annotation content 1; or it can enter the editing state of the annotation content 1, such as displaying the annotation content 1 as a highlighted state, or displaying an editing bar around the annotation content 1, or enlarging or fully displaying the content of the annotation content 1 (previously in a thumbnail display state). At this time, if the user clicks the delete control, the selected annotation content 1 can be deleted. If the user continues to click on the screenshot of the video f at the duration of T2 Figure 1 The application to be shared can assume that the user's intention is to select the screenshot Figure 1 , you can display the cut-off Figure 1 The selected state can also be the state of entering the cut-off Figure 1 Editing status, such as Figure 1 Displayed as highlighted, or in the screenshot Figure 1 Display the edit bar around the Figure 1 At this time, if the user clicks the delete control, the selected screenshot Figure 1 can be deleted, and the original video before annotation can be obtained. If the user clicks the save control, the original video can be saved separately, and the video is video f', which realizes the operation of removing annotations and restoring the original video. Optionally, when the excerpt content enters the editing state, the user can also edit the excerpt content. For example, when the annotation content 1 is in the editing state, the user can delete, modify or add the annotation content 1 through the keyboard. Optionally, when the annotation content 1 is text content input by the user through the keyboard or voice recognition, and the annotation content 1 is in the editing state, the user can move the annotation content 1 by dragging the display bar of the annotation content 1 on the screen of the terminal device; the user can also add, modify and delete the text content of the annotation content 1 through the keyboard; the user can also click the menu control of the annotation content 1 in the editing state to call out the menu bar, and then use various tool controls in the menu bar to change the font, font size, color and other related operations of the annotation content 1, which will not be listed one by one in this embodiment. For example, in the screenshot Figure 1 In the editing state, users can input text or strokes through the keyboard. Figure 1 You can also perform operations such as content annotation and graffiti, and click the screenshot button in the editing state. Figure 1 Use the menu control to bring up the menu bar, and then use the various tool controls in the menu bar to change the screenshot. Figure 1 Therefore, the shared material can be used flexibly through the shared application to meet various needs and has a wide range of application scenarios.
[0208] When the material to be shared is a plurality of materials, some of which are composite materials and some of which are single materials, for example, the material to be shared includes the above-mentioned picture a and video f. Picture a is a single material, and video f is an excerpt obtained by extracting the video. When the user clicks on picture a and video f in turn to share, the global collection recognizes the user's sharing operation and determines that the user needs to share the single material of picture a and the composite material of video f. The video f has an excerpt at the duration of T1, which is annotation content 1, and a screenshot at the duration of T2, which is a screenshot. Figure 1 The global collection can obtain image 1, and can also obtain the original video of video f before it is annotated, that is, video f', as well as the annotation content 1 and screenshots of video f'. Figure 1 These single materials. Global collections can also obtain associations, including: Annotation content 1 is the excerpt of video f' at time T1, Figure 1 The screenshot of video f' at time T2, and the order of picture a is before video f, the global collection can generate a string of preset format from the acquired single material and the associated relationship, and then share it to the application to be shared. At this time, the application to be shared can display picture a and video f in sequence, and can also recognize the annotation content 1 in video f, and can also Figure 1 After identification, the user can use the application to be shared to annotate the content 1 and / or the screenshot. Figure 1 You can delete, edit and modify the video, and you can also add new annotations and take new screenshots based on the video f', which is very flexible. Figure 1 The operation can be found in the previous description and will not be repeated here.
[0209] Optionally, the triggering timing for the terminal device to generate the export data in a preset format by the plurality of materials and the association relationship between the plurality of materials may include:
[0210] When the user clicks on the material to be shared, the terminal device can, for example, Figure 7 In the interface shown, when the three icons of text 1 from a web page, picture 1 from a gallery, and picture 2 from a web page are clicked, multiple materials included in the material to be shared and the relationship between the multiple materials are generated into export data according to a preset format. Then, in response to the user's selection operation of selecting the application to be shared, for example, when the user selects Figure 8 When the operation of selecting application 1 is performed in the interface shown, the exported data is sent to the third-party application for sharing.
[0211] The terminal device may also respond to the user's selection operation of selecting an application to be shared, for example, when the user selects Figure 8 When the operation of selecting application 1 is performed in the interface shown, the selected multiple materials and the association relationship between the multiple materials are generated into export data according to a preset format, and the export data is sent to a third-party application for sharing.
[0212] Next, the specific form of the preset format is described in conjunction with specific examples. The above preset format can be a unified format and regularized definition for the content transmitted by the third-party application (that is, the exported data in the previous article), so as to ensure the consistency of the data format, thereby achieving complete data transmission and avoiding data loss. Based on this, in complex composite materials, the association relationship between the single materials that make up the composite material can be fully shared between applications, and the integrity of the composite material transmission can be achieved. Based on the complete material, the third-party application can modify, delete, add and other operations on the shared material, which is more flexible to use.
[0213] Taking the application of the embodiment of the present application in the Android system as an example, in some embodiments, the preset format can be a string in json format. The definition of the type of the above-mentioned single material can include: text (text / txt format); picture (img format): document (word / ppt / excel / pdf / html and other formats), video (video), audio (audio) and other types of files (file). Among them, other types of files can also include Zip, apk, json and other formats, which are not limited by the embodiment of the present application.
[0214] For the material to be shared, the formation of the json string requires splitting the composite material into single materials. The json string may include: the number of all single materials in the material to be shared, the sequence number of each single material in all single materials, the type of each single material, and the content of each single material. The content of a single material can be text content or a file link. Optionally, the sequence number of each single material can represent the order in which the single material is shared or identify the identity of the single material.
[0215] In one implementation, an example of defining the export data in the json string is:
[0216] "version":
[0217] "exportStartTime":
[0218] "itemNum":
[0219] "exportItem":
[0220] Among them, version is the version number that defines the exported data this time. The definition of each exported data is versioned to facilitate iterative updates in different versions, avoid definition confusion during version iteration, and help ensure functional stability; exportStartTime is the data export time, that is, the time when the material is shared; itemNum indicates the number of all single materials shared this time; exportItem indicates the specific information of a single material, which can be described by a jsonArray array (which can be recorded as an array array). The array array includes multiple values, each of which is used to describe a single material. A specific value can be exemplified as:
[0221] "index":
[0222] "type":
[0223] "textContent":
[0224] "uri":
[0225] "insertType":
[0226] Among them, index is the serial number of the single material in the multiple single materials shared this time, and it can also represent the identity of the single material; type is the type of the single material; textContent is the content of the single material, which can be text content (txt) or file link (uri); insertType is used to identify whether the single material is inserted directly as content or as an attachment. For example, 0 means inserted as an attachment, and 1 means inserted as content. It can usually be defaulted to 0. In a numerical value in the above array, textContent and uri can be selected to represent the content of the corresponding single material. For example, when the single material is text and the amount of data is relatively small, textContent can be selected to directly display the content of the text. At this time, insertType is 1; when the single material is text and the amount of data is relatively large, or the single material is a picture, video, audio or other file, uri can be selected to directly indicate the file. At this time, insertType is 0.
[0227] Optionally, the above JSON string may also include an itemRelation parameter, which is used to represent the association relationship between structured data types between items, that is, to represent the association relationship between single materials. The specific data format definition may be exemplified as follows:
[0228]
[0229] In the above example, itemRelation is used to declare the association relationship between single materials. Under the definition of itemRelation, type represents the type of the association relationship, for example, it can include an association annotation representing a global annotation. When the association relationship is a global annotation, each array array under formation represents multiple single materials with an association relationship. In each array array, index represents the serial number of the single material among multiple single materials, and annoType represents the annotation type of the single material. If the single material is a background picture, that is, the original picture that has not been annotated, the annotation type can be expressed as OriPic; if the single material is handwritten content input by a stylus, the annotation type can be expressed as handwriting; if the single material is a composite picture obtained by annotation, the annotation type can be expressed as GrritfPic. Optionally, the annotation content can also be text content entered by the user through keyboard or voice.
[0230] In addition, under the definition of itemRelation, the type of the relationship represented by type can also include the relationship videoExtract representing the single material of the extracted video. When the relationship is an extracted video, the array array under formation represents multiple single materials of the relationship of the extracted video. In each value, index represents the sequence number of the single material among multiple single materials, and extractType represents the extraction type of the single material. If the single material is the original video, that is, the video without annotations, it can be represented as video; if the extraction type of the single material is text entered by the user, it can be represented as text; if the extraction type of the single material is a screenshot, it can be represented as shot. The value also includes the parameter duration, which represents the total video length of the extracted video. When the single material is text or a screenshot, the value also includes releItem, which represents the sequence number of the original video associated with the single material; the value can also include the parameter timeOffset, which represents the corresponding duration of the extracted content such as text or screenshots in the extracted video, which can be recorded as the extraction duration. Usually, the extraction duration is less than or equal to the video duration.
[0231] Next, we will use a complete JSON string as an example to describe the definition logic of exporting data. Specifically, the JSON string is as follows:
[0232]
[0233]
[0234]
[0235]
[0236] In the above example, the time representing the shared material is 1678806125, and the number of single materials included in the shared materials to be shared is 13; each single material can be defined as the data under each index under exportItem. Taking index 0 as an example, the material type of the single material with serial number 0 is picture, and the content is expressed in the form of file link, and the specific content is the file indicated by the file link content: / / media / external / images / media / 1000000457; taking index 1 as an example, the material type of the single material with serial number 1 is text, and the specific content is testand test. Single materials with other serial numbers are not listed one by one, and the meaning of the parameters can be understood in combination with the context, and are not limited here.
[0237] In the above json string example, the array array also includes definition parameters for defining association relationships, such as itemRelation. Optionally, the type of association relationship is a global annotation relationship, including that single material 0 is a background image, and single material 1 is the handwritten input annotation content of single material 0. Optionally, the type of association relationship is a video excerpt relationship, including: single material 8 is an unannotated original video with a duration of 300,000; single material 1 is the text associated with single material 8, and the corresponding duration is 60,253, that is, single material 1 is an excerpt of video 8 at a duration of 60,253 with an excerpt type of text; single material 11 is a screenshot associated with video 8, and the corresponding duration is 78,563, that is, single material 11 is a screenshot at a duration of 78,563 in video 8. Looking up, it can be seen that single material 11 is the picture indicated by content: / / media / external / images / media / 1000000467. The type of association relationship is video excerpt, which also includes another group of relationships: single material 10 is the original video of the video excerpt, with a total duration of 180,000, and single material 12 is the text content extracted from video 10 at duration 30,025. The text content can be found in the material information of single material 12, and the specific content is test abc.
[0238] The above string in json format is only an example, and can be determined according to the specific form of different materials to be shared during specific application.
[0239] S903: Send the JSON string representing the multiple single materials and their association relationships to the third-party application.
[0240] Specifically, all collections can send the exported data generated by the above multiple single materials and association relationships, such as a json string in a preset format, to a third-party application, that is, to the application to be shared selected by the user.
[0241] Specifically, when the user is in Figure 8 After clicking an icon of a third-party application in the list of selected applications, the global collection can pull up the third-party application to receive the material to be shared.
[0242] Global collection is realized by launching the activity of the third-party application when launching the third-party application. You can use startActivityForResult to start it. After the material sharing (also called material export) is completed, the third-party application returns the sharing result to the global collection using onActivityResult. The intent parameter definition can be:
[0243] "exportResult": indicates the result of exporting the material to a third-party application. The data type is int.
[0244] "exportStartTime": indicates the start time of exporting materials, and the data type is long;
[0245] "exportEndTime": indicates the completion time of exporting materials, and the data type is long;
[0246] "failedDesc": This is a failure parameter used to describe the cause of the failure. The data type is String, specifically in the format of a Json string.
[0247] The exportResult definition can be found in Table 2
[0248] Table 2
[0249] Name value meaning SUCCESS 0 Material exported successfully PART_SUPPORT -1 Some materials are not supported PARAM_INVALID -2 Parameter error UNKOWN_ERR -99 Unknown error
[0250] In Table 2, if the value of exportResult is 0, it means that the material sharing is successful; if the value of exportResult is -1, it means that some materials are shared successfully, and some materials fail to share; if the value of exportResult is -2, it means that there is a parameter error; if the value of exportResult is -99, it means that there is an unknown error. The parameter definition shown in Table 2 is only an example. The parameter definition of the result of exporting materials can also be found in Table 3 below, which is not repeated here.
[0251] Next, we will use specific code to illustrate the process of global collection in the Activity that starts the third-party application and the process of the third-party application returning the sharing result. The following code is only an example and is not used to limit the way to start the Activity of the third-party application. The sample code is as follows:
[0252]
[0253]
[0254] Correspondingly, third-party applications can also refer to the logic represented by the following code to implement it during the development stage. The specific example is as follows:
[0255]
[0256]
[0257] If the material passed to the third-party application by the global collection is a file, and the passed file link (URI), the third-party application can copy the file corresponding to the URI to the corresponding path of the third-party application for use after obtaining the URI. The specific reference code can be as follows:
[0258]
[0259]
[0260] S904. The third-party application parses the JSON string.
[0261] The third-party application can parse and export data according to the definition of the preset format, so as to obtain multiple single materials of the material to be shared, as well as the relationship between multiple single materials, so as to obtain comprehensive data. After the third-party application parses multiple single materials and the relationship, it can flexibly operate on the parsed content. For details, please refer to the previous article on annotating the received excerpted video and annotated pictures, restoring the original picture, restoring the original video, etc. through the application to be shared, which will not be repeated here.
[0262] The above steps S901-S904 can realize the sharing of the material to be shared. On this basis, the terminal device can also display the sharing result. Specifically, if the sharing is successful, a message of successful sharing can be displayed; if the sharing fails, a message of failed sharing can be displayed. Optionally, if the sharing fails, a prompt can be given according to the reason for the failure, and the user can know the reason for the failure based on the content of the prompt, so as to correctly perform the sharing operation.
[0263] Optionally, the sharing results can be displayed by the third-party application according to the result of parsing the JSON string, and then displayed, for example Fig. 9 Step S905 shown; Optionally, the third-party application may return the obtained sharing result to the global collection, and the global collection may parse and display the sharing result, for example Fig. 9 Steps S906 and S907 are shown.
[0264] For the specific form of the returned sharing results (also called returned data), third-party applications can also follow the preset format that is unified with the global collection. Specifically, the definition of returned data can be as follows:
[0265]
[0266]
[0267] In the above example, version is the version number of the data returned by this definition, which is convenient for subsequent iterative updates; exportStartTime is the start time of exporting the returned data, and the data type can be long type; exportEndTime is the end time of exporting the returned data, and the data type can be long type; exportResult represents the export result, and is of int type; failedSumm is a summary of the reasons for failure, which can be expressed in error codes, and the data type is String type. If there are multiple reasons for failure, they can be separated by commas. The specific meaning of the error code can be seen in the value column shown in Table 3 below, and the corresponding meaning can be seen in the correspondence between the value column and the name column, which will not be repeated here.
[0268] Specifically, exportFailedItem contains a detailed description of the reason why the sharing of a single material failed. Under the definition of exportFailedItem: index is the item number, that is, the serial number of a single material, and the data type is int. If the transmission of a single material 1 fails, the index is 1. Type indicates the type of item, that is, the material type of a single material, and the data type is String; textContent indicates the text content of the item, and the data type is String; uri indicates the file link of the item, and the data type is String; desc is a description parameter of the failure reason, and the data type is int, expressed in the form of an error code.
[0269] Next, refer to the parameter description shown in Table 3 to understand the meaning of different error codes and desc, as well as the description methods of different failure reasons.
[0270] Table 3
[0271]
[0272]
[0273] The specific parameter definition is not limited in the embodiments of the present application, as long as a unified definition method is followed to ensure the correct expression of the sharing results.
[0274] For more information about the interface for sharing materials, see Fig.11 The interface diagram shown, Fig.11 Figure a in the figure is the global collection panel. The user clicks the IMG.jpg picture and folder 1 as the material to be shared, and clicks the share control. The sharing interface pops up on the terminal device. For details, see Fig.11 When the user clicks the export control in the sharing interface, for example Fig.11 When the "Export content is" control is selected as shown in Figure b, the following is displayed: Fig.11 The APP list interface shown in Figure c. Fig.11 The APP list in the interface shown in Figure c is shown as an example including a note APP. Optionally, in some implementations, the sharing interface and the APP list interface can also be combined and displayed as follows: Figure 8 If the user decides that the material to be shared needs to be shared to the note app, he can click the confirmation control, for example, click Fig.11 Click the "√" control in Figure c. At this time, the application to be shared can be shared to the Notes APP. At the same time, the global collection can display a prompt interface, such as Fig.11 As shown in Figure d, "Export successful, go to note to view". When the user clicks the jump control of "Go to note to view", they can jump to the interface of the note APP to view the material to be shared.
[0275] Based on the method for sharing materials described in the embodiment of the present application, the software architecture diagram of the system can be referred to as follows: Figure 2 Based on, combined Fig.12 The architecture shown in the figure is used to implement this. Fig.12 As shown, the UI interface in the application layer adds the display of a function list interface, a sharing interface, an APP list interface and a prompt interface. Optionally, the sharing interface and the APP list interface can also be combined into one interface. In the logical function part, the following are added: a sharing / export module, a kit access capability filtering module, a receiving material capability identification module and a signature verification module. In the application layer, the third-party application (application to be shared) also includes a material receiving module, which is used to receive the material to be shared and parse it. At the same time, the application framework layer (FWK layer) also involves the calling of the package management module, the installation / uninstallation monitoring module and the drawing and rendering module.
[0276] For details, please refer to the function list interface. Fig.11 As shown in Figure a; the sharing interface can be seen in Fig.11 As shown in Figure b; APP list interface, please refer to Fig.11 As shown in Figure c; the prompt interface can be seen in Fig.11 As shown in Figure d in the figure. Before the APP list interface is displayed, after the user selects the material to be shared in the function list interface, the sharing / exporting module inputs the Kit access capability filtering module to verify the identity of the application and screen out the applications that have been successfully registered on the open platform; then, the screened applications are input into the receiving material capability identification module for identification, and the applications to be selected that meet the type of the material are screened out. Then, the sharing / exporting module inputs the signature verification module to verify the application to be selected again to ensure the legitimacy of the application to be selected in the local system. Specifically, the signature verification module can query the legitimacy of the input application to be selected in the package management module in the local system. Before the query, the signature verification module can first determine whether the currently queried application is installed in the installation / uninstallation monitoring module. If it is installed, the legitimacy can continue to be queried in the package management module; if it is not installed or has been uninstalled, there is no need to query the legitimacy, so that the illegal application to be selected can be quickly eliminated, and only the legal application to be selected can be displayed in the APP list interface. Specifically, the transmission channel module and IPC communication support the function of the upper-level installation / uninstallation monitoring module. When third-party applications are installed, they also need to use the signature verification module to verify the legitimacy of the local system. Third-party applications can also return the sharing results to the sharing / exporting module, and output them to the UI interface through the sharing / exporting module to display the prompt interface. It should be noted that the display processing module, display driver and drawing rendering module are used to support the display function of the upper-level UI.
[0277] Optionally, the application to be shared may also be an application on a terminal device different from the global collection, so that the material to be shared can be transferred between devices.
[0278] The above describes in detail an example of the method provided by the present application. It is understandable that, in order to implement the above functions, the corresponding device includes a hardware structure and / or software module corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel 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 the present application.
[0279] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the processor executes the method for recommending applications based on material type described in any of the above embodiments.
[0280] The embodiment of the present application also provides a computer program product. When the computer program product is run on a computer, the computer is caused to execute the above-mentioned related steps to implement the method for recommending applications based on material type in the above-mentioned embodiment.
[0281] Among them, the electronic device, computer-readable storage medium, computer program product or chip provided in this embodiment are all used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding methods provided above and will not be repeated here.
[0282] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, the replaced units may or may not be physically separated, and the components displayed as units may be one physical unit or multiple physical units, that is, they may be located in one place, or they may be distributed in multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the scheme of this embodiment.
[0283] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0284] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium, including several instructions to enable a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.
[0285] The above contents are only specific implementation methods of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.< / application>
Claims
1. A method for recommending applications based on material type, characterized in that: include: Displaying a first interface, the first interface including a first thumbnail of a first material, a second thumbnail of a second material, and a third thumbnail of a third material, wherein the third material and the second material are of different material types; When the first thumbnail and the second thumbnail are selected, receiving a first sharing operation input by a user, where the first sharing operation is an operation of sharing the first material and the second material; In response to the first sharing operation, displaying a second interface, wherein the second interface includes a first application list; When the first thumbnail and the third thumbnail are selected, receiving a second sharing operation input by a user, where the second sharing operation is an operation of sharing the first material and the third material; In response to the second sharing operation, displaying a third interface, wherein the third interface includes a second application list; The application programs in the first application list all match the material types of the first material and the second material, and the application programs in the second application list all match the material types of the first material and the third material.
2. The method according to claim 1, characterized in that The application programs in the first application list all match the material types of the first material and the second material, including: the application programs in the first application list all support the material type of the first material and / or the material type of the second material; The application programs in the second application list all match the material types of the first material and the third material, including: the application programs in the second application list all support the material type of the first material and / or the material type of the third material.
3. The method according to claim 2, characterized in that The displaying a second interface in response to the first sharing operation includes: In response to the first sharing operation, determining, according to material types of the first material and the second material, at least one candidate application supporting the material type of the first material and / or the second material; generating the first application list including the at least one application to be selected; The second interface including the first application list is displayed.
4. The method according to claim 3, characterized in that The determining, according to the material types of the first material and the second material, at least one candidate application supporting the material type of the first material and / or the second material comprises: Acquire a first application set and a second application set, wherein the applications in the first application set support the material type of the first material, and the applications in the second application set support the material type of the second material; An application in the intersection or union of the first application set and the second application set is determined as the at least one application to be selected.
5. The method according to any one of claims 1 to 4, characterized in that The method further comprises: Acquire a first association relationship between the first material and the second material, where the first association relationship includes a sequence of the first material and the second material; After displaying the second interface in response to the first sharing operation, the method further includes: Receiving a first selection operation input by a user on the second interface; In response to the first selection operation, determining an application to be shared from the first application list; The first material, the second material and the first association relationship are shared to the application to be shared.
6. The method according to claim 5, characterized in that The step of sharing the first material, the second material, and the first association relationship to the application to be shared includes: Generate export data according to a preset format for the first material, the second material and the first association relationship, wherein the export data includes: serial numbers of the first material and the second material, material types of the first material and the second material, and text content or file links of the first material and the second material; The exported data is shared to the application to be shared.
7. The method according to claim 1, characterized in that The first material is a composite material, and the composite material is a material formed by combining multiple single materials. The method further includes: When the first thumbnail is selected, receiving a third sharing operation input by the user, wherein the third sharing operation is an operation of sharing the first material; In response to the third sharing operation, displaying a fourth interface, the fourth interface including a third application list, wherein the application programs in the third application list all match the material types of the multiple single materials; Acquire a second association relationship between the multiple single materials; Receiving a second selection operation input by the user on the fourth interface; In response to the second selection operation, determining an application to be shared from the third application list; The multiple single materials and the second association relationship are shared to the application to be shared.
8. The method according to claim 7, characterized in that The step of sharing the plurality of single materials and the second association relationship to the application to be shared includes: Generate export data based on the plurality of single materials and the second association relationship according to a preset format; The exported data is shared to the application to be shared.
9. The method according to claim 8, characterized in that The composite material is an annotated picture formed by inputting annotation content on a background picture, the multiple single materials include the background picture and the annotation content, and the second association relationship includes the relationship that the annotation content is the content annotated on the background picture.
10. The method according to claim 9, characterized in that The exported data includes: the serial numbers of the background image and the annotation content, the material types of the background image and the annotation content, the file link of the background image, the text content or file link of the annotation content, the annotation types of the background image and the annotation content, and the associated serial number of the annotation content, wherein the associated serial number of the annotation content is the serial number of the background image.
11. The method according to claim 10, characterized in that The annotation content is the content input by the user through the stylus.
12. The method according to claim 9 or 10, characterized in that: The multiple single materials also include a composite picture, where the composite picture is a picture generated by merging the background picture and the annotation content, and the second association relationship also includes the composite picture being a picture generated by merging the background picture and the annotation content.
13. The method according to claim 12, characterized in that The exported data also includes: the serial number of the composite image, the material type of the composite image, the file link of the composite image, the annotation type of the composite image and the associated serial number of the composite image, wherein the associated serial number of the composite image is the serial number of the background image.
14. The method according to claim 8, characterized in that The composite material is an excerpted video obtained by marking the excerpted content for the original video when performing video excerpting, the multiple single materials include the original video and the excerpted content, and the second association relationship includes: the excerpted content is the content marked on the original video, and the corresponding duration of the excerpted content in the original video.
15. The method according to claim 14, characterized in that The exported data includes: the serial numbers of the original video and the excerpted content, the material types of the original video and the excerpted content, the file link of the original video, the text content or file link of the excerpted content, the excerpt types of the original video and the excerpted content, the associated serial numbers of the excerpted content, and the corresponding duration of the excerpted content in the original video; The associated serial number of the excerpted content is the serial number of the original video, and the excerpted content includes text entered by the user and / or a screenshot captured from the original video.
16. The method according to any one of claims 7 to 15, characterized in that The method further comprises: Obtaining a sharing result, where the sharing result is used to indicate whether the first material is successfully shared to the application to be shared; The sharing result is displayed.
17. The method according to claim 16, characterized in that When the sharing result is a failure, the sharing result also includes a failure parameter, and the failure parameter is used to characterize the cause of the failure.
18. The method according to any one of claims 1 to 17, characterized in that The material types include any one or more combinations of text, document, picture, audio, video, web page and compressed package.
19. An electronic device, characterized in that: include: Processors, memory, and interfaces; The processor, the memory and the interface cooperate with each other so that the electronic device executes the method as claimed in any one of claims 1 to 18.
20. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor is caused to perform the method according to any one of claims 1 to 18.