Information processing apparatus, control method for the same, and program
Patent Information
- Application Number
- JP2025125933
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-07-28
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2040-02-28
AI Technical Summary
Existing program linkage technologies lack appropriate implementation mechanisms, leading to inefficiencies in information sharing and processing between applications.
A control method for information processing devices that allows specified information to be shared and processed between applications based on their launch methods, enabling controlled execution of processing steps based on the launch of different programs.
Enhances the appropriate execution of program linkage, improving efficiency and reducing processing times in information sharing between applications.
Smart Images

Figure 00000000_0001_ABST 
Figure 00000000_0000_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing device, a control method therefor, and a program. [Background technology]
[0002] Information processing devices such as mobile terminals and smartphones are well known. Such information processing devices generally use a technology called program linkage, in which programs such as applications installed on the information processing devices operate in cooperation with each other. Specifically, program linkage is a technology that enables, for example, processing based on information acquired in a specific program to be executed in a program other than the specific program.
[0003] Patent document 1 describes a technology in which a first application (hereinafter referred to as an app) stores information that the first application and a second application want to share in an information sharing area, and the second application retrieves the shared information from the information sharing area, thereby sharing information between the first application and the second application. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2017-219961 Summary of the Invention [Problem to be solved by the invention]
[0005] However, as program linkage becomes more widespread, there is a demand for more appropriate implementation of program linkage.
[0006] The present invention has been made in consideration of the above-mentioned problems, and has an object to more appropriately execute program linkage. [Means for solving the problem]
[0007] In order to solve the above-mentioned problems, the control method of the present invention is a control method for an information processing device, comprising: an acquisition step of acquiring specified information related to a communication device by a first program; and an execution step of executing processing based on the specified information acquired by the first program by the second program based on the launch of a second program different from the first program, wherein, when the specified information is acquired by the first program by a first method, the processing based on the specified information is controlled to be executed by the second program based on the launch of the second program; and when the specified information is acquired by the first program by a second method different from the first method, the processing based on the specified information is controlled not to be executed by the second program even if the second program is launched. [Effects of the Invention]
[0008] According to the present invention, program linkage can be more appropriately executed. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram showing the configuration of a mobile terminal 100. [Figure 2] FIG. 10 is a diagram illustrating a use case in which an application B110 is started in a coordinated manner. [Figure 3] 10 is a flowchart showing a process executed by the mobile terminal 100 using the application A109. [Figure 4] 10 is a flowchart showing the flow of processing executed by mobile terminal 100 using application B110. [Figure 5] 10 is an example of a screen displayed by a store application 108. [Figure 6] 10 is an example of a screen displayed by the application A109. [Figure 7] 10 is a flowchart showing a process executed by the mobile terminal 100 using the application B110. DETAILED DESCRIPTION OF THE INVENTION
[0010] The following describes in detail an information processing device according to the present invention with reference to the drawings. Note that the following embodiments do not limit the scope of the present invention, and not all of the combinations of features described in the embodiments are necessarily essential to the solution of the present invention.
[0011] (First embodiment) An information processing device to which the present invention is applied will be described. In this embodiment, a mobile terminal is exemplified as the information processing device, but this is not limiting. For example, various devices on which a program can be installed, such as a notebook PC, a tablet terminal, a PDA (Personal Digital Assistant), a digital camera, a music playback device, and a television, can be applied as the information processing device. In addition, in this embodiment, a smartphone is exemplified as an example of the mobile terminal. A smartphone is a multi-function mobile phone that has a camera function, an internet browser function, an email function, and the like in addition to the functions of a mobile phone.
[0012] 1 is a diagram showing the configuration of a mobile terminal 100, which is an information processing apparatus according to this embodiment. FIG. 1(a) shows the hardware configuration of the mobile terminal 100, and FIG. 1(b) shows the software configuration of the mobile terminal 100.
[0013] The mobile terminal 100 includes a CPU 101, an operation unit 102, a network interface 103, a memory 104, a display unit 105, and a storage device 106, all of which are connected via a system bus.
[0014] The CPU 101 performs overall control of the mobile terminal 100. The operation unit 102 is an operation unit that allows the user to give instructions to the mobile terminal 100, and includes, for example, buttons, a touch panel, and the like.
[0015] The memory 104 is a random access memory (RAM) that serves as a working area for the CPU 101, and is used as a temporary storage area for various received data and stores various setting data.
[0016] The storage device 106 is, for example, a flash memory or the like, and stores various control programs such as applications and an operating system (hereinafter referred to as OS).
[0017] The network interface 103 is an interface for connecting to a network. The mobile terminal 100 can be connected to a network via the network interface 103, and is configured to be connectable to external devices such as printers and the Internet via the network. In this embodiment, the network interface 103 is capable of performing communication compliant with the IEEE 802.11 series (communication via Wi-Fi (registered trademark)). Note that this communication is not limited to this, and communication via other methods such as Bluetooth (registered trademark) may also be performed by the network interface 103. The mobile terminal 100 may also have multiple network interfaces. For example, the mobile terminal 100 may have, in addition to the network interface 103, a network interface capable of performing communication via Bluetooth (registered trademark) Low Energy (BLE). For example, the mobile terminal 100 may also have a network interface capable of performing communication via Near Field Communication (NFC).
[0018] The display unit 105 is a unit that displays various information and is composed of a liquid crystal panel or the like. The operation unit 102 is a unit that accepts operations from a user. In this embodiment, the operation unit 102 and the display unit 105 have the same configuration and are configured to be able to both accept user operations and display various information with a single configuration. That is, the operation unit 102 and the display unit 105 are composed of a touch display. A user can issue various instructions to the mobile terminal 100 and operate the mobile terminal 100 by tracing or tapping the touch display with a finger or the like. The user can also issue various instructions to the mobile terminal 100 by operating the touch display with an operator other than a finger, for example, an electrostatic touch panel pen such as a stylus pen. The operation unit 102 and the display unit 105 do not need to have the same configuration. For example, the operation unit 102 may be a physical keyboard or the like equipped with physical keys.
[0019] As shown in FIG. 1(b), in this embodiment, the mobile terminal 100 can use three or more application programs, including an OS 107 and a store application program 108. The mobile terminal 100 can use the three or more application programs, namely, an application program A 109, an application program B 110, and an application program C 111. Hereinafter, the application programs will be referred to as apps. In the following description, the processing executed by the apps is actually realized by the CPU 101 reading the apps into the memory 104 and executing them.
[0020] The store app 108 is an app for downloading and installing other apps such as app A109, app B110, and app C111 to the mobile terminal 100. A user can select a desired app in the store app 108 and perform a predetermined operation for downloading (such as tapping a download button or password authentication), thereby downloading and installing the selected app to the mobile terminal 100. The user can also launch an app already installed on the mobile terminal 100 via the store app 108 by performing a predetermined operation (such as tapping an "Open" button) on a screen displayed by the store app 108. FIG. 5 is a diagram showing an example of a screen displayed by the store app 108. FIG. 5 is a screen for launching app B110 when app B110 has already been installed on the mobile terminal 100. As described above, tapping the "Open" button launches app B110. Like app B110, app C111 can also be downloaded, installed, and launched from the store app 108.
[0021] The apps A109, B110, and C111 are apps downloaded to the mobile terminal 100 by the store app 108 via a network or the like. The apps A109, B110, and C111 may not be downloaded via the store app 108 but may be downloaded, for example, from a storage medium on which the apps are stored. Alternatively, the apps may be downloaded via a web browser or the like. The downloaded apps are installed on the mobile terminal 100 and become available on the mobile terminal 100. The app A109 may be pre-stored in the mobile terminal 100 upon delivery. In this embodiment, the apps A109, B110, and C111 are assumed to be apps that transmit print jobs to a printer having a printing function and execute printing based on the transmitted print jobs. The apps A109, B110, and C111 may have functions other than the function of causing a printer to execute printing. For example, it may have a function of sending a scan job to a printer and causing the printer to execute a scan based on the sent scan job.
[0022] The store application 108, application A 109, application B 110, and application C 111 operate via the OS 107. These pieces of software are stored in the storage device 106, loaded into the memory 104, and executed by the CPU 101.
[0023] In this embodiment, application A109 and application B110, and application A109 and application C111 operate in cooperation with each other. Specifically, application B110 operates using information used by application A109. Furthermore, application C111 operates using information used by application A109. Hereinafter, the cooperation and operation of programs is referred to as program cooperation, and in particular, the cooperation and operation of applications is referred to as application cooperation. Note that specifically, application cooperation is a technology that enables, for example, processing based on information used in application A109 (shared information, described below) to be executed in another program (for example, application B110) that can be launched from application A109.
[0024] In this embodiment, there are two methods for launching apps: independent launch and cooperative launch. Independent launch refers to an app being launched, for example, by tapping an app icon on a home screen displayed by the OS or by an operation on a screen displayed by the store app 108. In this embodiment, the store app 108 and apps A109, B110, and C111 can all be independently launched. Cooperative launch refers to an app being launched by an operation on a screen displayed by another app that shares information (shared information, described later) used by the app. In this embodiment, at least apps B110 and C111 can be cooperatively launched by an operation on a screen displayed by app A109. When apps B110 and C111 are cooperatively launched, information about the app (app A109) that initiated the cooperative launch is notified. Therefore, the CPU 101 can determine whether apps B110 and C111 were launched by cooperative launch or independent launch.
[0025] FIG. 6 is an example of a screen displayed by the app A109. Icon 601 indicates a printer registered in the app A109. Printer registration will be described later. Note that when a printer is not registered in the app A109, icon 601 is not displayed. In this case, instead of icon 601, an area including a message or icon for prompting printer registration may be displayed. Icons 602 and 603 are buttons for sending a print job to a printer registered in the app A109 and printing a photo or document stored in the mobile terminal 100. Icon 604 is a button for sending a scan job to a printer registered in the app A109 and executing a scan. Icon 605 is a button for executing a cloud printing function that causes a printer to print image data stored on an external server. Icon 606 is a button for sending a copy job to a printer registered in the app A109 and creating a copy of a document, and icon 607 is a button for sending a print job to a printer and executing printing on disk media. For example, to execute printing on disc media, an application other than application A109 (an application for printing on disc media) may be required. In such a case, when the application for printing on disc media is installed in mobile terminal 100 and an operation on icon 607 is received, CPU 101 performs a cooperative launch of the application for printing on disc media. Icon 608 is a button for launching a web page showing a method for operating application A109, etc. Icon 609 is a button for cooperative launch of application B110. When the application B110 is installed in mobile terminal 100 and an operation on icon 609 is received, CPU 101 performs a cooperative launch of application B110. Note that, for example, when a printer that is not compatible with application B110 is registered in application A109, CPU 101 may gray out or hide icon 609 so as not to receive an operation on icon 609. Icon 610 is a button for cooperative launch of application C111.When the CPU 101 receives an operation on the icon 610 while the application C111 is installed in the mobile terminal 100, the CPU 101 starts up the application C111 in a linked manner. Note that, for example, when a printer that is not compatible with the application C111 is registered in the application A109, the CPU 101 may gray out or hide the icon 610 so as not to receive an operation on the icon 610.
[0026] The application A109 is an application that causes a printer to print based on image data selected by a user from image data photographed by the mobile terminal 100 or image data downloaded by the mobile terminal 100. On the other hand, the application B110 is, for example, an application that causes a printer to print based on image data previously stored in the application B110. The application B110 is, for example, an application that causes a printer to print based on image data acquired via a network from an external server corresponding to the application B110. The application B110 may also be, for example, an application for printing on disk media or an application that causes a printer to print New Year's cards. The application C111 may also be an application having various functions, similar to the example of the application B110.
[0027] As described above, in this embodiment, the applications A109, B110, and C111 have a printing function that causes the mobile terminal 100 to print an image on a printer with which the mobile terminal 100 can communicate. The applications A109, B110, and C111 can execute the printing function by searching for printers around the mobile terminal 100 and registering a device that will execute printing from among the searched devices. The process of registering a device in an application (registration process) is, in other words, the process of setting and registering the device to be registered as a device with which the application will communicate (setting process). In this embodiment, for example, information about the printer registered in application A109 (hereinafter referred to as registration information) can be used as the shared information 202. Specifically, the registration information includes, for example, MAC address, Bonjour name, IP address, model information such as the printer's model name, capability information such as available setting values, and information about the registration date and time. The registration date and time is, for example, the date and time when the registration information was acquired. When a printer is registered in the application A109, an icon 601 is displayed on a screen displayed by the application A109, and the user is informed of the type of printer registered in the application A109. For this reason, the icon 601 may include information indicating the name and model number of the printer registered in the application A109, the status of ink held by the printer registered in the application A109, the error status of the printer registered in the application A109, etc.
[0028] Then, for example, when a printer is registered in application A109, CPU 101 stores the printer registration information in information sharing area 201 as shared information 202. As a result, CPU 101 can execute, by application B110, a process for registering the printer registered in application A109 in application B110 as a process based on shared information 202 when application B110 is started. By adopting this configuration, CPU 101 can register a printer in application B110 without, for example, executing a printer search process by application B110. Note that if all of the information required to register a printer cannot fit in information sharing area 201, at least a portion of the information required to register the printer may be applied as shared information 202. This configuration can also achieve effects such as reducing the time required for printer search processing. Note that the above-described printer registration using shared information 202 can also be executed by application C111.
[0029] Note that multiple methods may be prepared for registering a printer. In other words, a registration method is a method for acquiring printer registration information. A first registration method executable by the app A109 will be described. In the first registration method, the app A109 searches for a printer corresponding to the app A109 on a Wi-Fi network to which the mobile terminal 100 belongs. The Wi-Fi network to which the mobile terminal 100 belongs is, for example, a network configured by a wireless LAN router (external access point) to which the mobile terminal 100 is connected via Wi-Fi. The app A109 then registers the user-selected printer in the app A109 by acquiring registration information from the printer selected by the user from among the printers found by this search via the Wi-Fi network. Specifically, the printer found by this search is, for example, a printer connected via Wi-Fi to the wireless LAN router to which the mobile terminal 100 is connected via Wi-Fi. At this time, if the app A109 finds only one printer in the search, the app A109 may automatically register the printer without querying the user. Furthermore, if the application A109 finds multiple printers in the search, it may register the discovered multiple printers. In this embodiment, based on the printers being registered in this manner, the application A109 stores the printer registration information in the information sharing area 201 as shared information 202.
[0030] Note that the Wi-Fi network to which the mobile terminal 100 belongs may be a network formed between the printer and the mobile terminal 100 according to the Wi-Fi Direct standard. That is, the mobile terminal 100 may be wirelessly connected (P2P connected) to the printer according to the Wi-Fi Direct standard without going through a wireless LAN router. In this case, a printer search is performed on the Wi-Fi network to which the mobile terminal 100 belongs, but naturally, only one printer is found. The application A109 registers the printer in the application A109 by obtaining registration information from the printer found by this search via the Wi-Fi Direct network. However, in this embodiment, even if the printer connected to the mobile terminal 100 is registered according to the Wi-Fi Direct standard, the application A109 does not store the printer registration information as shared information 202 in the information sharing area 201. This is because some applications cannot perform communication according to the Wi-Fi Direct standard. For example, in this embodiment, it is assumed that the application B110 cannot perform communication according to the Wi-Fi Direct standard.
[0031] A second registration method executable by the application A109 will be described. The application A109 searches for printers that are present around the mobile terminal 100 and have a predetermined access point enabled via Wi-Fi. The printer enables the predetermined access point when a predetermined operation for Wi-Fi setup is received from the user or when initial setup is performed after unpacking. The application A109 then establishes a wireless connection (P2P connection) between the mobile terminal 100 and a printer selected by the user from among the printers found by this search, without going through a wireless LAN router. If the application A109 finds only one printer in the search, it may automatically establish a P2P connection with the printer without querying the user. The application A109 then performs Wi-Fi setup for the printer that is wirelessly connected to the mobile terminal 100 via Wi-Fi.
[0032] As a Wi-Fi setup, the application A109, for example, connects the printer and the wireless LAN router via Wi-Fi by transmitting connection information for connecting to the wireless LAN router to the printer via a P2P connection. If the mobile terminal 100 then belongs to the Wi-Fi network configured by the wireless LAN router, the mobile terminal 100 can communicate with the printer via Wi-Fi via the wireless LAN router. Therefore, after connecting the printer and the wireless LAN router via Wi-Fi, the application A109 registers the printer in the application A109 by acquiring registration information from the printer via the wireless LAN router. At this time, the Wi-Fi connection between the wireless LAN router and the mobile terminal 100 is maintained without being disconnected by the application A109. This enables the application A109 to send a print job to the printer via the wireless LAN router. In this embodiment, based on the printer being registered in this manner, the application A109 stores the printer registration information in the information sharing area 201 as shared information 202.
[0033] Furthermore, as part of the Wi-Fi setup, the application A109 receives, for example, connection information from the printer for connecting to another access point (an internal access point of the printer) that is different from the predetermined access point and that is enabled within the printer. After transmitting the connection information to the application A109, the printer enables the other access point. Then, using the received connection information, the application A109 establishes a wireless connection (P2P connection) between the printer that has enabled the other access point and the mobile terminal 100 via Wi-Fi without going through a wireless LAN router. The application A109 then registers the printer in the application A109 by obtaining registration information from the printer via the P2P connection. This P2P connection is maintained without being disconnected by the application A109. This allows the application A109 to send print jobs to the printer via the P2P connection. In this embodiment, based on the printer being registered in this manner, the application A109 stores the printer's registration information in the information sharing area 201 as shared information 202.
[0034] Although the above describes a configuration in which Wi-Fi setup is performed by connecting the mobile terminal 100 and the printer via Wi-Fi, the configuration is not limited to this. For example, Wi-Fi setup may be performed by connecting the mobile terminal 100 and the printer via BLE. In this case, for example, the app A109 searches for printers that are present around the mobile terminal 100 and have an enabled BLE communication function via Wi-Fi. A printer that has an enabled BLE communication function is, for example, a printer that operates as an advertiser in the BLE standard. The app A109 then wirelessly connects the mobile terminal 100 to a printer selected by the user from the printers found by this search via BLE (BLE connection). Note that at this time, if the app A109 finds only one printer in the search, it may automatically connect the printer to BLE without querying the user. The app A109 then performs Wi-Fi setup for the printer wirelessly connected to the mobile terminal 100 via BLE. The application A109 may have both a function of executing Wi-Fi setup via a Wi-Fi connection and a function of executing Wi-Fi setup via a BLE connection.
[0035] A third registration method executable by the application A109 will be described. The application A109 uses BLE to search for printers that are present around the mobile terminal 100 and that operate as advertisers under the BLE standard. Then, the application A109 wirelessly connects the mobile terminal 100 to a printer selected by the user from among the printers found through this search via BLE. The application A109 then acquires connection information for establishing a P2P connection with the printer via Wi-Fi from the printer connected to the mobile terminal 100 via BLE. The connection information specifically includes the SSID of an access point enabled in the printer and a password for connecting to the access point. The application A109 then uses the acquired connection information to establish a wireless connection (P2P connection) between the printer that has enabled the access point and the mobile terminal 100 via Wi-Fi without going through a wireless LAN router. The application A109 then acquires registration information from the printer wirelessly connected to the mobile terminal 100 via P2P connection, thereby registering the printer in the application A109. If the search finds only one printer, the app A109 may automatically establish a BLE connection with the printer and automatically register the printer without querying the user. After registration is complete, the app A109 disconnects the P2P connection between the printer and the mobile terminal 100. Thereafter, when the user instructs printing, the app A109 re-establishes a P2P connection between the printer and the mobile terminal 100 using the connection information and transmits the print job. The third registration method may be executed, for example, when no printer is found in the printer search performed by the first registration method. In this embodiment, the app A109 does not store the printer registration information as shared information 202 in the information sharing area 201 when a printer is registered by the third registration method. This is because, after a printer is registered by the third registration method, the P2P connection between the printer and the mobile terminal 100 is disconnected, making it impossible for apps other than the app A109 to easily use the printer.
[0036] A fourth registration method executable by the application A109 will be described. The application A109 searches for printers that exist in the vicinity of the mobile terminal 100 and that are operating as P2P devices or group owners under the Wi-Fi Direct standard. Note that a P2P device under the Wi-Fi Direct standard is a device that has not executed group owner negotiation and is neither a group owner nor a client. In this case, the application A109 searches for printers using a well-known discovery process under the Wi-Fi Direct standard. Then, among the printers found by this search, the application A109 wirelessly connects a printer selected by the user to the mobile terminal 100 using the Wi-Fi Direct standard without going through a wireless LAN router. Note that if the application A109 finds only one printer in the search, it may automatically establish a wireless connection to the printer using the Wi-Fi Direct standard without querying the user. The application A109 then registers the printer in the application A109 by obtaining registration information from the printer wirelessly connected to the mobile terminal 100 using the Wi-Fi Direct standard via the wireless connection. Even after registration, the wireless connection based on the Wi-Fi Direct standard between the printer and the mobile terminal 100 is maintained. In this embodiment, when the printer is registered using the fourth registration method, the application A109 does not store the printer registration information as shared information 202 in the information sharing area 201. This is because some applications cannot execute communication based on the Wi-Fi Direct standard.
[0037] A fifth registration method executable by the application A109 will be described. It is assumed that the application A109 is capable of executing communication via NFC. When the mobile terminal 100 approaches a printer with image data selected in the application A109, the application A109 acquires connection information from the printer via NFC communication for establishing a connection with the printer via Wi-Fi. Specifically, the connection information is the SSID of an access point enabled in the printer and a password for connecting to the access point. The application A109 then uses the acquired connection information to establish a wireless connection (P2P connection) between the printer and the mobile terminal 100 via Wi-Fi without using a wireless LAN router. Note that before establishing the wireless connection, the application A109 may execute an instruction to enable the access point in the printer via NFC communication. The application A109 then acquires registration information from the printer via the P2P connection, thereby registering the printer in the application A109. The application A109 then sends a print job for printing the selected image data to the printer via the P2P connection. Once the transmission of the print job is complete, the app A109 disconnects the P2P connection between the printer and the mobile terminal 100. Note that in this embodiment, when the printer is registered using the fifth registration method, the app A109 does not save the printer registration information as shared information 202 in the information sharing area 201. This is because, after the printer is registered using the fifth registration method, the P2P connection between the printer and the mobile terminal 100 is disconnected, and therefore the printer cannot be easily used by apps other than the app A109. Note that the communication performed using NFC in the fifth registration method may be performed using Classic Bluetooth, BLE, or the like instead of NFC.
[0038] As described above, in this embodiment, when a printer is registered in the application A109, depending on the registration method, the registration information of the printer may or may not be saved as the shared information 202. By adopting this configuration, it is possible to ensure that only the registration information of an appropriate printer to be used in application cooperation is used by other applications as the shared information 202.
[0039] Note that, although the above describes patterns in which the printer registration information is not saved as shared information 202 even when the printer is registered in the application A109, these patterns may include a pattern in which the printer registration information is saved as shared information 202. In other words, in at least one of the above-described patterns, the printer registration information need not be saved as shared information 202 in the information sharing area 201. Therefore, for example, the printer registration information may be saved as shared information 202 in the information sharing area 201 based on the printer being registered by the third or fourth registration method.
[0040] In this embodiment, when the shared information 202 has already been saved in the information sharing area 201, the shared information 202 is updated each time a new printer is registered in the application A109. Of course, if the shared information 202 is not saved, the shared information 202 is not updated. Also, when a new printer that is the same as an already registered printer is registered, the shared information 202 does not have to be updated.
[0041] Furthermore, multiple printers may be registered for one application by performing registration processing for multiple printers. In this case, application A109 sends a print job to a printer selected as a selected device from among the multiple registered printers. Note that the user can appropriately select or change the selected device from among the multiple registered printers on the screen displayed by application A109. Also, if a printer is already selected as the selected device and a new printer is registered, the newly registered printer is selected as the selected device regardless of the registration method. Note that on the screen of FIG. 6, an icon 601 corresponding to the printer selected as the selected device is displayed, and icons 601 corresponding to registered printers not selected as selected devices are not displayed.
[0042] In a configuration in which multiple printers can be registered for one application, registration information about the multiple registered printers may be stored in the information sharing area 201 as shared information 202. On the other hand, registration information about only one of the multiple registered printers (for example, the printer selected as the selected device) may be stored in the information sharing area 201 as shared information 202. For example, suppose that printer A is registered using the second registration method, and registration information about printer A is stored in the information sharing area 201 as shared information 202, and then printer B is newly registered using the second registration method. In this case, both printer A and printer B are registered in application A109, but the shared information 202 stored in the information sharing area 201 is updated to registration information about the newly registered printer B. Furthermore, suppose that printer A is subsequently selected by the user as the selected device. In this case, the shared information 202 stored in the information sharing area 201 is updated to registration information about printer A. Also, for example, suppose that printer A is registered using the second registration method, and registration information about printer A is stored in information sharing area 201 as shared information 202, and then printer B is newly registered in a pattern in which shared information 202 is not stored. As described above, a pattern in which shared information 202 is not stored is, for example, a pattern in which printer B is registered using the third or fourth registration method. In this case, both printer A and printer B are registered in application A 109, but shared information 202 stored in information sharing area 201 is not updated to registration information about printer B, and remains as registration information about printer A.
[0043] Furthermore, in this embodiment, application A109 can be registered using a plurality of registration methods, whereas application B110 and application C111 can only be registered using the first registration method. That is, application A109 has a more sophisticated registration function than application B110 and application C111. Note that application B110 and application C111 may also be able to be registered using a registration method other than the first registration method.
[0044] The shared information 202 saved as described above is acquired by an application (for example, application B110) other than application A109 that saved the shared information 202 when that application is launched. Then, the shared information 202 is used by that application, allowing information to be shared between application A109 and applications other than application A109. Furthermore, printers that cannot be registered using the registration methods that application B110 and application C111 can be registered in application B110 and application C111.
[0045] Now, for example, suppose that after app B110 acquires the shared information 202, app B110 deletes the shared information 202 from the information sharing area 201. In this configuration, for example, if app C111 is launched in cooperation with app A109 after app B110 acquires the shared information 202, app C111 may not be able to acquire the shared information 202. Therefore, in this embodiment, a configuration will be described in which app C111 can acquire the shared information 202 even if app C111 is launched in cooperation with app A109 after app B110 acquires the shared information 202.
[0046] 2A, a use case will be described in which application B110 is cooperatively launched via application A109 when applications A109 and B110 are already installed on mobile device 100. First, when CPU 101 determines that a printer has been registered (printer registration information has been generated) through printer registration processing, CPU 101 saves the generated registration information as shared information 202 in information sharing area 201. Here, shared information 202 is information that CPU 101 can use when application A109 is running. Information sharing area 201 is a storage area in which shared information 202 is stored. Information sharing area 201 may be, for example, a common folder accessible when both application A109 and application B110 are running, or may be something like a clipboard or pasteboard managed by the OS. The common folder may be, for example, an area included in the memory of mobile device 100, such as storage device 106, an area included in an external storage medium such as an SD card or HDD, or an area on a network server. There are no restrictions on the format as long as it is a format that can store information that can be used in both the operation of application A109 and the operation of application B110.
[0047] Next, when CPU 101 determines that app B110 is to be launched in a coordinated manner, for example by receiving an operation on icon 609, CPU 101 launches app B110 in a coordinated manner. When CPU 101 launches app B110 in a coordinated manner, app B110 references information sharing area 201 and acquires shared information 202. CPU 101 then determines whether the acquired shared information 202 is information usable by app B110 (whether shared information 202 is information corresponding to app B110). Hereinafter, this determination is referred to as a usability determination. If CPU 101 determines that shared information 202 is information usable by app B110, CPU 101 executes processing based on shared information 202. On the other hand, if CPU 101 determines that shared information 202 is not information usable by app B110, CPU 101 does not execute processing based on shared information 202.
[0048] The usability determination is performed using information included in the acquired shared information 202. For example, assume that the shared information 202 includes a printer model name. In this case, to determine usability, the CPU 101 determines whether a model name included in the shared information 202 is included in a model name list of printers compatible with the application B110. If the model name list includes a model name included in the shared information 202, the CPU 101 determines that the acquired shared information 202 is information usable by the application B110. If the model name list does not include a model name included in the shared information 202, the CPU 101 determines that the acquired shared information 202 is not information usable by the application B110. Here, the model name list does not necessarily need to be held by the application B110, but may be included in an area on a network server or in an external storage medium such as an SD card or HDD.
[0049] Also, for example, it is assumed that the shared information 202 includes a list of application names corresponding to the shared information 202. In this case, as a usability determination, the CPU 101 determines whether or not the application name list corresponding to the shared information 202 includes the application B110. If the application name list includes the application B110, the CPU 101 determines that the acquired shared information 202 is information usable by the application B110. If the application name list does not include the application B110, the CPU 101 determines that the acquired shared information 202 is not information usable by the application B110.
[0050] Next, the behavior of the CPU 101 when the application B110 is started independently without the application A109 in a state where the application A109 and the application B110 are already installed in the mobile terminal 100 will be described with reference to FIG.
[0051] As in FIG. 2A, when CPU 101 determines that printer registration information has been generated by, for example, a printer registration process, CPU 101 stores the generated registration information as shared information 202 in information sharing area 201. In this embodiment, CPU 101 also references information sharing area 201 when app B110 is launched independently. If shared information 202 is stored in information sharing area 201, CPU 101 acquires shared information 202. CPU 101 then executes a usability determination. If CPU 101 determines that shared information 202 is information usable by app B110, CPU 101 executes processing based on shared information 202. If CPU 101 determines that shared information 202 is not information usable by app B110, CPU 101 does not execute processing based on shared information 202.
[0052] As described above, in this embodiment, the application A109 stores the shared information 202 in the information sharing area 201 when the printer is registered (when the printer registration information is generated). The application B110 acquires the shared information 202 regardless of whether the application is launched in a linked or standalone manner, and upon acquiring the shared information 202, determines whether the acquired shared information 202 is usable. By adopting this configuration, the CPU 101 can appropriately execute application collaboration between the application A109 and the application B110, whether the application B110 is launched in a standalone manner or in a linked manner.
[0053] Next, using FIG. 2(c), the behavior of CPU 101 will be described when an operation to launch app B110 in conjunction with app B110 is performed on a screen displayed by app A109 when app B110 is not installed on mobile terminal 100.
[0054] As in FIG. 2A, when the CPU 101 determines that printer registration information has been generated by, for example, a printer registration process, it stores the generated registration information in the information sharing area 201 as shared information 202.
[0055] Even if an operation for linking and launching app B110 is performed on a screen displayed by app A109, if app B110 is not installed on mobile terminal 100, CPU 101 naturally cannot launch app B110. Furthermore, in order to install app B110 on mobile terminal 100, it is generally necessary to use store app 108. Therefore, if an operation for linking and launching app B110 is performed on a screen displayed by app A109 when app B110 is not installed on mobile terminal 100, CPU 101 executes the following process.
[0056] First, CPU 101 launches store application 108. By launching store application 108 using information (hereinafter, application identification information 203) capable of identifying an application to be downloaded (hereinafter, target application), CPU 101 can display a screen for downloading the target application on display unit 105. Here, CPU 101 launches store application 108 using application identification information 203 that identifies application B110 as the target application. As a result, a screen for downloading application B110 is displayed on display unit 105, and CPU 101 accepts an operation from the user to download and install application B110. Here, CPU 101 may automatically download application B110 without accepting an operation from the user. Thereafter, CPU 101 accepts an operation on an application icon corresponding to application B110 on the home screen and an operation on a screen displayed by store application 108 (an operation on the Open button in FIG. 5 ). Then, CPU 101 starts up application B110 in response to these operations and executes the same processing as that shown in Fig. 2(b). That is, CPU 101 executes processing that would be executed if application B110 were started up independently.
[0057] In this way, when an operation for cooperatively launching app B110 is performed on a screen displayed by app A109 while app B110 is not installed on mobile terminal 100, CPU 101 downloads app B110 using store app 108. In this embodiment, as shown in FIG. 2B, even during standalone launch, CPU 101 references information sharing area 201 and determines whether shared information 202 can be used by app B110. Therefore, even when app B110 is launched independently via store app 108, it is possible to appropriately link app B110 with printer registration information of app A109 as shared information 202.
[0058] In the above description, the information sharing area 201 is always referenced whether the application B110 is launched in a linked state or independently. However, the present invention is not limited to this. For example, in this embodiment, the application A109 and the application B110 can each register a printer separately. Therefore, a user may intentionally register different printers in the application A109 and the application B110. In such a case, if the application A109 and the application B110 are linked and a printer registered in the application A109 is registered in the application B110, a printer not intended by the user may be overwritten and registered in the application B110. Furthermore, the same printer may already be registered in the application A109 and the application B110. In such a case, if the printer registered in the application A109 is registered in the application B110 again, the application B will execute processing based on the shared information 202 every time the application A109 is launched, which may increase the processing load at the time of launch.
[0059] Therefore, when the CPU 101 starts the application B110, it determines whether or not a printer has already been registered in the application B110, and if a printer has already been registered in the application B110, it does not execute application linkage. In other words, it does not change the printer already registered in the application B110.
[0060] Even if a printer is already registered in the app B110, if the currently stored shared information 202 has been updated or changed since the shared information 202 previously used in app collaboration, app collaboration may be performed again. For example, the shared information 202 includes information on the update date and time of the shared information 202. The app B110 stores information on the update date and time when the shared information 202 was previously used in app collaboration. The app B110 compares the update date and time information included in the newly acquired shared information 202 with the update date and time information when the shared information 202 was previously used in app collaboration, thereby determining whether to perform app collaboration using the newly acquired shared information 202. Note that the comparison target for the update date and time information included in the newly acquired shared information 202 may be other information. For example, it may be information on the date and time when the printer was most recently registered in the app B110.
[0061] Furthermore, if the printer already registered in app B110 is different from the printer registered by the shared information 202, a dialog box may be displayed to prompt the user to select whether or not to execute application linkage. Specifically, for example, if a printer has not been registered in app B110, the CPU 101 registers the printer registered in app A109 in app B110 after the usability determination determines that the shared information 202 is information usable by app B110. As described above, the process of registering the printer registered in app A109 in app B110 is essentially application linkage. This is because, if a printer has not been registered in app B110, a problem of the printer registered in app B110 being changed to a printer not intended by the user does not occur. On the other hand, if a printer has been registered in app B110, the CPU 101 displays a dialog box to prompt the user to select whether or not to execute application linkage after the usability determination determines that the shared information 202 is information usable by app B110. In other words, the dialog is a dialog for allowing the user to select whether or not to use the shared information 202 and whether or not to register the printer registered in the application A109 in the application B110. When the user selects an input indicating that application cooperation is to be executed, the CPU 101 executes the application cooperation. Furthermore, when the user selects an input indicating that application cooperation is not to be executed, the CPU 101 does not execute the application cooperation. In other words, the printer registered in the application B110 is not changed. This makes it possible to prevent the printer registered in the application B110 from being changed to a printer not intended by the user. Note that the usability determination may be executed after the dialog is displayed and the user selects an input indicating that application cooperation is to be executed.
[0062] Note that even if the shared information 202 is acquired by the app B110, it is not deleted from the information sharing area 201. That is, even after the shared information 202 is acquired by the app B110, it can be used in app cooperation by an app different from the app B110 (for example, app C111). With this configuration, after the app B110 acquires the shared information 202 and executes app cooperation, even if the app C111 is started, the app C111 can also execute app cooperation without updating the shared information 202 in the app A109. With this configuration, convenience is improved in a configuration in which multiple apps can execute app cooperation. Note that the shared information 202 is deleted, for example, when the app A109 is deleted (uninstalled) from the mobile terminal 100.
[0063] 3 is a flowchart showing processing executed by mobile terminal 100 using application A109. The processing shown in this flowchart is realized, for example, by CPU 101 reading a program corresponding to application A109 stored in storage device 106 or the like into memory 104 and executing the program. The processing shown in this flowchart is assumed to start in a state where a screen for executing the function of application A109 is being displayed on display unit 105 by application A109.
[0064] First, in S301, the CPU 101 executes printer registration processing in the application A 109. As described above, the registration methods used in the registration processing executed at this time include the first to fifth registration methods.
[0065] Next, in S302, CPU 101 determines whether or not to save the printer registration information acquired in S301 as shared information 202 in the information sharing area 201. Specifically, CPU 101 first identifies the registration method used in the registration process executed in S301. If any of the third, fourth, or fifth registration methods is identified, it is determined not to save the printer registration information in the information sharing area 201 as shared information 202. Furthermore, even if the first registration method is identified, if the registered printer is a printer to which the mobile terminal 100 is connected according to the Wi-Fi Direct standard, it is determined not to save the printer registration information in the information sharing area 201 as shared information 202. On the other hand, if the second registration method is identified, it is determined to save the printer registration information in the information sharing area 201 as shared information 202. Furthermore, if the first registration method is specified and the registered printer is a printer connected to a wireless LAN router via Wi-Fi, it is determined that the printer registration information should be saved as shared information 202 in the information sharing area 201. If the result of this determination is YES, the CPU 101 proceeds to S303, and if the result of this determination is NO, the CPU 101 proceeds to S304 without saving the printer registration information as shared information 202 in the information sharing area 201.
[0066] In S303, the CPU 101 stores the printer registration information acquired in S301 in the information sharing area 201 as the shared information 202.
[0067] In S304, the CPU 101 accepts a cooperative startup operation for the application B 110. Specifically, for example, the CPU 101 accepts an operation on the icon 609 from the user.
[0068] Note that S304 does not necessarily have to be executed immediately after S303 or S302. For example, after the shared information 202 is saved in S302, the icon 602 may be operated, and a print job may be sent in the application A109, before the processing of S303 is executed. Also, for example, the processing of S303 may be executed after the activation of the application A109 is terminated, and then the application A109 is activated again.
[0069] In S305, CPU 101 determines whether app B110 is installed on mobile terminal 100. If it is determined that app B110 is installed on mobile terminal 100, in S306 CPU 101 issues an instruction to launch app B110 by a known method using a URL scheme. As a result, app B110 is launched in a linked manner. Thereafter, CPU 101 executes the process shown in FIG. 4 , which will be described later, using app B110. On the other hand, if it is determined that app B110 is not installed on mobile terminal 100, in S307 CPU 101 issues an instruction to launch store app 108 by a known method using a URL scheme, for example. At this time, the instruction is issued by adding app identification information 203, which allows store app 108 to identify app B110, to the URL scheme. As a result, store app 108 is launched and a screen for downloading app B110 is displayed. In this state, by accepting an operation from the user to download app B110, CPU 101 can download and install app B110. After the application B110 is installed, an area for launching the application B110 is displayed in the store application 108. Then, the area for launching the application B110 is operated by the user to launch the application B110. When the application B110 is launched in this manner, the CPU 101 executes the processing shown in FIG. 4, which will be described later, using the application B110.
[0070] By adopting the above-described configuration, it is possible to appropriately control whether or not to save printer registration information as shared information depending on the printer registration method. In other words, it is possible to appropriately control whether or not information acquired by application A109 is acquired and used in other applications (to execute application cooperation) depending on the acquisition method of the information held by application A109.
[0071] 4 is a flowchart showing processing executed by mobile terminal 100 using application B 110. Note that this flowchart is realized, for example, by CPU 101 reading a program corresponding to application B 110 stored in storage device 106 or the like into memory 104 and executing the program.
[0072] First, in step S401, the CPU 101 starts the application B 110. Note that the processing of step S401 is executed in response to, for example, receipt of a cooperative start-up operation for the application B 110 via the application A 109, receipt of an instruction to start the application B 110 via the store application 108, receipt of an instruction to start the application B 110 via the home screen, or the like.
[0073] In S402, the CPU 101 determines whether or not the shared information 202 exists in the information sharing area 201. If the CPU 101 determines that the shared information 202 exists in the information sharing area 201, the process proceeds to S403, where the CPU 101 acquires the shared information 202. Note that in this embodiment, even if the CPU 101 acquires the shared information 202 through the app B110, the CPU 101 does not delete the shared information 202 from the information sharing area 201. On the other hand, if the CPU 101 determines that the shared information 202 does not exist in the information sharing area 201, the CPU 101 ends the process without executing the process of registering the printer registered in the app A109 in the app B110 (without executing app cooperation). Note that a situation in which the shared information 202 is not saved in the information sharing area 201 occurs, for example, when the information sharing area 201 is an external server or the like and the mobile terminal 100 cannot access the external server through the app A109 due to a communication error, an authentication error, or the like. Another example is a situation in which the printer registration process has not yet been executed in the app A109.
[0074] In S404, CPU 101 executes a usability determination. If it is determined that the acquired shared information 202 is information that can be used by application B 110, CPU 101 proceeds to S405. On the other hand, if it is determined that the acquired shared information 202 is not information that can be used by application B 110, CPU 101 ends the process without executing the process of registering the printer registered in application A 109 in application B 110 (without executing application cooperation).
[0075] In S405, the CPU 101 determines whether or not the printer has been registered in the application B110 (whether or not a device to communicate with has been set by the application B110). If it is determined that the printer has not been registered in the application B110, the CPU 101 proceeds to S410. On the other hand, if it is determined that the printer has been registered in the application B110, the CPU 101 proceeds to S406.
[0076] In S406, CPU 101 determines whether the printer corresponding to shared information 202 and the printer registered in application B 110 are the same printer. In other words, this determination is processing to determine whether shared information 202 and the registration information of the printer registered in application B 110 are the same. If CPU 101 determines that they are the same printer, it proceeds to S407, and if it determines that they are not the same printer, it proceeds to S408. Note that there are cases where multiple printers are registered in application B 110. In this case, CPU 101 proceeds to S407 if the printer corresponding to shared information 202 is the same as one of the multiple printers, and proceeds to S408 if the printer corresponding to shared information 202 is different from all of the multiple printers.
[0077] In S407, CPU 101 determines whether to execute application cooperation. In this determination, for example, CPU 101 compares update date and time information included in the newly acquired shared information 202 with update date and time information from the previous time when shared information 202 was used for application cooperation. If the former date and time is later than the latter date and time, CPU 101 determines to execute application cooperation, and if the former date and time is earlier than the latter date and time, CPU 101 determines not to execute application cooperation. Also in this determination, for example, CPU 101 compares update date and time information included in the newly acquired shared information 202 with date and time information of the most recent registration of a printer in application B 110. If the former date and time is later than the latter date and time, CPU 101 determines to execute application cooperation, and if the former date and time is earlier than the latter date and time, CPU 101 determines not to execute application cooperation. If CPU 101 determines to execute application cooperation, the process proceeds to S410. If CPU 101 determines not to execute application cooperation, the process ends without executing the process of registering the printer registered in application A 109 in application B 110 (without executing application cooperation).
[0078] It is also possible to have a configuration in which S407 is not executed and in the case of S406-YES, the process always proceeds to S410.
[0079] In S408, the CPU 101 displays a dialog box for prompting the user to select whether or not to register the printer registered in the application A 109 in the application B 110 (whether or not to execute application cooperation).
[0080] In S409, it is determined whether or not the user has selected to execute application linkage in the dialog displayed in S408. If the user has selected to execute application linkage, CPU 101 proceeds to S410. If the user has selected not to execute application linkage, CPU 101 ends the process without executing the process of registering the printer registered in application A 109 in application B 110 (without executing application linkage).
[0081] In addition, S408 and S409 may not be executed, and in the case of S407-NO, the process of registering the printer registered in application A109 in application B110 may not be executed (application collaboration may not be executed) and the process may end.
[0082] In S410, the printer registered in the application A109 is registered in the application B110 by using the shared information 202. Note that in this embodiment, even if the printer registered in the application A109 is registered in the application B110, the shared information 202 is not deleted from the information sharing area 201.
[0083] Although the process executed by the application B110 has been described with reference to FIG. 4, the same process is also executed by the application C111.
[0084] By adopting the above-described configuration, both application B110 and application C111 can acquire shared information 202 and execute application cooperation with application A109 regardless of the timing of their activation.
[0085] Even in the case where application B110 is launched independently, it is highly likely that the same printer as application A109 will also be used in application B110, so it is desirable to execute application cooperation. In this embodiment, regardless of whether application B110 is launched independently or in cooperation, CPU 101 executes the process shown in FIG. 4, and therefore can appropriately use shared information 202.
[0086] (Second embodiment) A description will be given of a case where multiple printers are registered in the application A109, and the multiple pieces of registration information are stored in the information sharing area 201 as shared information 202. Note that the configuration of each device in this embodiment is assumed to be the same as in the first embodiment unless otherwise specified.
[0087] 7 is a flowchart showing processing executed by mobile terminal 100 using application B 110. Note that this flowchart is realized, for example, by CPU 101 reading a program corresponding to application B 110 stored in storage device 106 or the like into memory 104 and executing the program.
[0088] First, in S701, the CPU 101 starts up the application B 110. This process is the same as S401.
[0089] In S702, the CPU 101 determines whether or not shared information 202 exists in the information sharing area 201. This processing is the same as S401. If the CPU 101 determines that shared information 202 exists in the information sharing area 201, the processing proceeds to S703, where it acquires the shared information 202. On the other hand, if the CPU 101 determines that shared information 202 does not exist in the information sharing area 201, the processing ends without executing the processing to register the printer registered in application A 109 in application B 110 (without executing application cooperation).
[0090] In step S704, the CPU 101 extracts registration information of printers that can be used by the application B 110 from the list of registration information included in the shared information 202. This extraction is performed by executing the usability determination as described in the first embodiment for each piece of registration information included in the list.
[0091] In S705, CPU 101 determines whether or not there is registration information extracted in S704. If CPU 101 determines that there is registration information extracted in S704, the process proceeds to S706. On the other hand, if CPU 101 determines that there is no registration information extracted in S704, the process ends without executing the process of registering the printer registered in application A 109 in application B 110 (without executing application cooperation).
[0092] In step S706, the CPU 101 acquires update date and time information for each piece of extracted registration information. Then, in step S707, the CPU 101 identifies the registration information with the most recent update date and time information. The printer corresponding to the identified registration information becomes a candidate printer to be registered in the application B 110.
[0093] Note that the method for identifying the registered information in S706 is not limited to the above-described method. For example, the registered information extracted first from the list of registered information included in the shared information 202 may be identified. Alternatively, for example, the list of registered information included in the shared information 202 may be displayed, and the user may select one of the registered information from the list, thereby identifying the registered information selected by the user.
[0094] In S708, the CPU 101 determines whether or not the printer has been registered in the application B110 (whether or not a device to communicate with is set by the application B110). This process is the same as S405. If it is determined that the printer has not been registered in the application B110, the CPU 101 proceeds to S713. On the other hand, if it is determined that the printer has been registered in the application B110, the CPU 101 proceeds to S709.
[0095] In S709, the CPU 101 determines whether the printer corresponding to the registration information identified in S707 is the same printer as the printer registered in the application B 110. If the CPU 101 determines that the printer is the same printer, the process proceeds to S710, and if the CPU 101 determines that the printer is not the same printer, the process proceeds to S711. Note that there are cases where multiple printers are registered in the application B 110. In this case, the CPU 101 proceeds to S710 if the printer corresponding to the registration information identified in S707 is the same as one of the multiple printers, and proceeds to S711 if the printer corresponding to the registration information identified in S707 is different from all of the multiple printers.
[0096] In S710, CPU 101 determines whether to execute application cooperation. In this determination, for example, CPU 101 compares update date and time information corresponding to the registration information identified in S707 with update date and time information when the shared information 202 was previously used for application cooperation. If the former date and time is later than the latter date and time, CPU 101 determines to execute application cooperation, and if the former date and time is earlier than the latter date and time, CPU 101 determines not to execute application cooperation. Also in this determination, for example, CPU 101 compares update date and time information corresponding to the registration information identified in S707 with date and time information of the most recent printer registration for application B 110. If the former date and time is later than the latter date and time, CPU 101 determines to execute application cooperation, and if the former date and time is earlier than the latter date and time, CPU 101 determines not to execute application cooperation. If the CPU 101 determines that application collaboration is to be performed, it proceeds to S713, and if it determines that application collaboration is not to be performed, it terminates the process without performing the process of registering the printer registered in application A 109 in application B 110 (without performing application collaboration).
[0097] It is also possible to have a configuration in which S710 is not executed and the process always proceeds to S713 in the case of S709-YES.
[0098] In S711, the CPU 101 displays a dialog box for prompting the user to select whether or not to register the printer registered in the application A 109 in the application B 110 (whether or not to execute application cooperation). This process is the same as S408.
[0099] In S712, it is determined whether or not the user has selected to execute application linkage in the dialog displayed in S711. This process is the same as S409. If the user has selected to execute application linkage, CPU 101 proceeds to S713. If the user has selected not to execute application linkage, CPU 101 ends the process without executing the process of registering the printer registered in application A 109 in application B 110 (without executing application linkage).
[0100] In addition, S711 and S712 may not be executed, and in the case of S709-NO, the process of registering the printer registered in application A109 in application B110 may not be executed (application collaboration may not be executed), and the process may be terminated.
[0101] In S713, the printer registered in the application A 109 is registered in the application B 110 by using the shared information 202. This process is the same as S410.
[0102] Although the process executed by the application B110 has been described with reference to FIG. 7, the same process is also executed by the application C111.
[0103] By adopting the above-described configuration, even if the shared information 202 is a configuration in which registration information of a plurality of printers registered in the application A 109 is saved, application cooperation can be executed appropriately.
[0104] (Other embodiments) In the above-described embodiment, the download of the application B110 is performed by the store application 108. However, the present invention is not limited to this. For example, the CPU 101 may download the application B110 from a web page. In this case, the process of launching the store application 108 in the above-described embodiment is the process of launching a program for displaying a web page. When launching the program for displaying a web page, the web page for downloading the target application can be directly displayed by using information about the target application. After the CPU 101 downloads the application B110 by the store application 108, the application B110 may be installed by an installer. The CPU 101 may also download and install the application B110 from a personal computer.
[0105] In the above-described embodiment, the CPU 101 refers to the information sharing area 201 and acquires the shared information 202 whether the app B110 is launched independently or launched in a linked manner. However, the present invention is not limited to this. For example, when the app B110 is launched in a linked manner, the information added to the URL scheme may be used as the shared information 202 to perform app collaboration. Therefore, in this case, when a linked launch operation is performed on the app B110, the CPU 101 also adds information to the URL scheme.
[0106] In the above-described embodiment, printing applications are used as the application A109, application B110, and application C111, and registration information is used as the shared information 202. However, the present invention is not limited to this. That is, application A109 and application B110 may be applications that can share information with each other, and their functions are not limited. For example, the device registered in each application may be a device other than a printer. The content of the shared information 202 is also not limited. For example, each application may be an application for remotely controlling a camera, and a camera may be registered in each application. For example, each application may be an application for controlling a smart speaker, and a smart speaker may be registered in each application. For example, application A109 may be a camera application, and application B110 may be a photo album creation application. In this case, the shared information 202 may be, for example, image data that can be arranged in a photo album. In this case, specific processing in the application cooperation is processing to display the shared information 202 (image data) as a thumbnail, processing to store the shared information 202 in an area that can be referenced by the application B 110, and the like.
[0107] Furthermore, in the above-described embodiment, the cooperation between the application A109, the application B110, and the application C111 has been described, but the shared information 202 handled by the application A109 can be used not only by the application B110 and the application C111, but also by other applications. That is, by executing the same processing as when the application B110 or the application C111 is started in the other applications, the shared information 202 handled by the application A109 can be used by a plurality of applications.
[0108] Furthermore, in the above-described embodiment, a configuration has been described in which whether or not to store registration information in the information sharing area 201 is controlled depending on the registration method. However, this configuration is not limited to this. For example, a configuration may be adopted in which registration information is stored in the information sharing area 201 regardless of the registration method, but whether or not the application B110 or application C111 acquires the registration information may be controlled depending on the registration method. In this configuration, for example, application A109 stores, in the information sharing area 201, information about the registration method, communication path, and communication method used to acquire the registration information, along with the registration information. Then, before acquiring the registration information, application B110 or application C111 acquires information about the registration method, communication path, and communication method used to acquire the registration information, and determines whether or not to acquire the registration information based on the matters identified by the information. In the above-described embodiment, if it is determined that the registration information was acquired using a registration method (e.g., the second registration method) used to store the registration information in the information sharing area 201, application B110 or application C111 acquires the registration information and executes application linkage. On the other hand, in the above-described embodiment, if it is determined that registration information has been acquired using a registration method (for example, the third registration method) that does not store registration information in information sharing area 201, application B110 and application C111 do not acquire registration information and do not execute application cooperation. Even in this manner, application cooperation can be executed appropriately.
[0109] The above-described embodiments can also be realized by executing the following process. That is, software (programs) that realize the functions of the above-described embodiments are shared with a system or device via a network or various storage media, and a computer (CPU, MPU, etc.) of the system or device reads and executes the program. The program may be executed by a single computer, or may be executed by multiple computers in cooperation with each other. Furthermore, it is not necessary to realize all of the above-described processes by software; some or all of the processes may be realized by hardware such as an ASIC. Furthermore, the CPU is not limited to one that performs all processes by a single CPU, and multiple CPUs may perform processes in cooperation with each other as appropriate. [Explanation of symbols]
[0110] 100 mobile devices 101 CPU
Claims
1. A control method for an information processing device, comprising: an acquisition step of acquiring predetermined information related to a communication device by a computer of the information processing device that executes a first program; an execution step of executing, by the computer that executes the second program, processing based on the predetermined information acquired by the computer that executes the first program, based on activation of a second program different from the first program; and a process based on the predetermined information is controlled to be executed by the computer executing the second program, based on the fact that the predetermined information is information acquired from a first communication device by the computer executing the first program via a network other than a network formed in accordance with the Wi-Fi Direct (registered trademark) standard; based on the fact that the predetermined information is information acquired from a second communication device by the computer executing the first program via a network formed in accordance with the Wi-Fi Direct (registered trademark) standard, control is performed so that processing based on the predetermined information is not executed by the computer executing the second program even if the second program is started; A control method characterized in that the processing based on the specified information acquired by the computer executing the first program, which is executed by the computer executing the second program, is processing to register the communication device corresponding to the specified information in the second program as a device with which communication is performed by the computer executing the second program.
2. The control method described in Claim 1, characterized in that the other network is a network configured by an external access point to which the information processing device is connected.
3. A control method as described in claim 1 or 2, characterized in that information regarding an external access point is transmitted to the first communication device via a connection between the information processing device and the first communication device, and after a connection is established between the external access point and the first communication device based on the transmitted information regarding the external access point, the specified information is obtained from the first communication device via the external access point.
4. The control method described in Claim 3, characterized in that the connection between the information processing device and the first communication device is a connection via Wi-Fi (registered trademark) or Bluetooth (registered trademark) Low Energy.
5. A control method described in any one of claims 1 to 4, characterized in that the communication device corresponding to the specified information is a device registered in the first program as a device that communicates with the computer executing the first program.
6. When the computer that executes the first program acquires the predetermined information, it stores the predetermined information in a predetermined storage area, A control method according to any one of claims 1 to 5, characterized in that when the specified information stored in the specified memory area is acquired by the computer executing the second program, processing based on the specified information is executed.
7. The control method described in Claim 6, characterized in that the computer executing the first program stores the specified information in the specified memory area based on obtaining the specified information.
8. The control method described in Claim 6, characterized in that when the second program is installed on the information processing device, the second program is launched by an instruction from the computer executing the first program based on a specified operation being performed on a specified screen displayed by the computer executing the first program.
9. The control method described in Claim 8, characterized in that when the second program is not installed on the information processing device, a program for installing the second program on the information processing device is launched by instruction from the computer executing the first program based on the specified operation being performed on the specified screen displayed by the computer executing the first program.
10. A control method described in any one of claims 6 to 9, characterized in that when the computer executing the first program acquires the specified information from the first communication device, the computer is controlled to store the specified information in the specified memory area, and when the computer executing the first program acquires the specified information from the second communication device, the computer is controlled to not store the specified information in the specified memory area.
11. A control method described in any one of claims 6 to 9, characterized in that when the specified information is acquired from the first communication device by the computer executing the first program, the specified information stored in the specified memory area is controlled to be acquired by the computer executing the second program, and when the specified information is acquired from the second communication device by the computer executing the first program, the specified information stored in the specified memory area is controlled not to be acquired by the computer executing the second program.
12. Even if the predetermined information is acquired by the computer executing the second program, the predetermined information is not deleted from the predetermined storage area, A control method according to any one of claims 6 to 11, characterized in that, based on the fact that a third program different from the first program and the second program is launched after the specified information is acquired by the second program, processing based on the specified information acquired by the computer executing the first program is executed by the computer executing the third program.
13. The second program is started in a state in which processing based on the predetermined information has already been executed by the computer executing the second program, and the predetermined information corresponding to the processing already executed and the processing based on the predetermined information are newly executed by the computer executing the second program based on the second program being started; A control method according to any one of claims 1 to 12, characterized in that if the second program is launched while processing based on the specified information is already being executed by the computer executing the second program, and if the specified information corresponding to the processing already executed is the same as the specified information obtained from the first communication device by the computer executing the first program, the processing based on the specified information is not newly executed by the computer executing the second program even if the second program is launched.
14. The control method according to claim 1, wherein the first program and the second program are application programs.
15. A control method described in any one of claims 1 to 14, characterized in that the first program and the second program are programs that send a print job to the communication device corresponding to the specified information to perform printing.
16. A control method described in any one of claims 1 to 15, characterized in that the specified information includes at least one of the following: a MAC address, a Bonjour name, an IP address, a model name of the communication device, capability information of the communication device, and information regarding the date and time when the specified information was acquired.
17. A control method according to claim 1, wherein the communication device is a printer.
18. A control method described in any one of claims 1 to 17, characterized in that the second program is launched based on at least one of the following: tapping an application program icon on a home screen; performing an operation on a screen displayed by a store application program capable of installing the second program; and performing an operation on a screen displayed by the first program.
19. An information processing device, an acquisition unit that acquires predetermined information related to a communication device by a computer of the information processing device that executes a first program; an execution means for executing a process based on the predetermined information acquired by the computer executing the first program, by the computer executing the second program, based on the activation of a second program different from the first program; and a process based on the predetermined information is controlled to be executed by the computer executing the second program, based on the fact that the predetermined information is information acquired from a first communication device by the computer executing the first program via a network other than a network formed in accordance with the Wi-Fi Direct (registered trademark) standard; based on the fact that the predetermined information is information acquired from a second communication device by the computer executing the first program via a network formed in accordance with the Wi-Fi Direct (registered trademark) standard, control is performed so that processing based on the predetermined information is not executed by the computer executing the second program even if the second program is started; An information processing device characterized in that the processing based on the specified information acquired by the computer executing the first program, which is executed by the computer executing the second program, is processing to register the communication device corresponding to the specified information in the second program as a device with which the computer executing the second program communicates.
20. A predetermined program, In the information processing device, an acquisition step of acquiring predetermined information related to the communication device; a control step of controlling, based on the fact that the predetermined information has been acquired by the predetermined program from a first communication device via a network other than the network formed in accordance with the Wi-Fi Direct (registered trademark) standard, and that a program other than the predetermined program has been started, so that a process based on the predetermined information is executed by the other program, and, based on the fact that the predetermined information has been acquired by the predetermined program from a second communication device via the network formed in accordance with the Wi-Fi Direct (registered trademark) standard, so that the process based on the predetermined information is not executed by the other program even if the other program is started; Execute A program characterized in that the processing based on the specified information obtained by the specified program, which is executed by the other program, is processing to register the communication device corresponding to the specified information in the other program as a device that communicates via the other program.
21. A predetermined program, In the information processing device, a first control step of controlling the predetermined program to execute processing based on the predetermined information, based on the fact that predetermined information regarding a communication device is acquired from a first communication device by a program different from the predetermined program via a network different from the network formed according to the Wi-Fi Direct (registered trademark) standard and the fact that the predetermined program is started; a second control step of controlling the predetermined program so that processing based on the predetermined information is not executed by the predetermined program even if the predetermined program is started, based on the predetermined information being acquired by the other program from a second communication device via a network formed in accordance with the Wi-Fi Direct (registered trademark) standard; Execute A program characterized in that the processing executed by the specified program based on the specified information acquired by the other program is processing to register the communication device corresponding to the specified information in the specified program as a device that communicates using the specified program.