Information processing device, control method, and program
The first application program addresses the inconvenience of invalid location service settings by disabling prompts and ensuring seamless execution, enhancing user experience in processing related to location information services.
Patent Information
- Application Number
- JP2024014585
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-02
- Publication Date
- 2025-08-15
AI Technical Summary
The convenience of processing based on settings for using location information services is not adequately addressed, particularly in scenarios where the OS version or location service settings are not valid, leading to unnecessary user interaction and annoyance.
A first application program executes a startup process to launch a second application, disabling specific settings if invalid, and enabling functions only when valid, thereby improving user convenience by avoiding unnecessary dialog prompts.
Enhances user experience by reducing annoyance and improving convenience in processing related to location information services by avoiding unnecessary dialog prompts and ensuring seamless execution of functions.
Smart Images

Figure 2025119672000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing device, a control method, and a program. [Background technology]
[0002] Patent Document 1 describes a technique related to permission to use location information services. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent Publication No. 2022-30782 Summary of the Invention [Problem to be solved by the invention]
[0004] However, as the form of executing processing based on settings for using location information services becomes more widespread, there is a demand for improving the convenience of this form.
[0005] SUMMARY OF THE INVENTION It is therefore an object of the present invention to improve the convenience of a mode in which processing is executed based on settings for using location information services. [Means for solving the problem]
[0006] The present invention is a first application program that causes a computer of an information processing device to execute a first startup step of executing a startup process to launch a second application program capable of executing processing for a first search process, which is a process to search for one or more communication devices and is executed based on the fact that a predetermined setting for using the location information service of the information processing device is valid in the information processing device; a disablement step of disabling a specific setting for executing a predetermined function, which is a function of the first application program and includes processing for the first search process, if the second application program launched based on the execution of the startup process has executed a predetermined process including the processing for the first search process, but the predetermined setting is not valid in the information processing device; and a first execution step of executing the predetermined function based on the startup of the first application program if the specific setting is valid, and not executing the predetermined function even if the first application program is launched if the specific setting is invalid. [Effects of the Invention]
[0007] According to the present invention, it is possible to improve the convenience of the mode of executing processing based on settings for using location information services. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 illustrates an example of a communication system. [Figure 2] 10 is a flowchart showing a process executed by the information processing device using a first application. [Figure 3] 10 is an example of a screen for obtaining a software license. [Figure 4] 10 is an example of an inquiry screen. [Figure 5] 10 is an example of a top screen. [Figure 6] 10 is an example of a setting screen for changing settings related to location information services. [Figure 7] 10 is a flowchart showing a setup process executed by the information processing device using a second application. [Figure 8] 10 is a flowchart showing a process related to a location information service. [Figure 9] 10 is a flowchart showing a connection setting process. [Figure 10] 10 is a flowchart showing a first connection setting process. [Figure 11] 10 is a flowchart showing a second connection setting process. [Figure 12] 10 is an example of a first guide screen and a second guide screen. [Figure 13] 10 is a flowchart showing the process of terminating a second application. [Figure 14] 10 is an example of a list screen. [Figure 15] 10 is an example of an IF selection screen. [Figure 16] 10 is an example of a setting screen for changing automatic search settings. [Figure 17] 10A and 10B are examples of a dialog for enabling the second setting and a dialog for enabling the third setting. [Figure 18] 10 is an example of a first notification screen. [Figure 19] 10 is an example of a second notification screen. DETAILED DESCRIPTION OF THE INVENTION
[0009] First Embodiment 1 is a diagram showing an example of the configuration of an information processing system according to this embodiment. In this embodiment, the information processing device 101 will be described as a PC by way of example, but is not limited to this. The information processing device 101 may be, for example, a smartphone or a tablet. The information processing device 101 includes a CPU 102, an external storage device 103, an input interface 104, an output interface 105, a ROM 106, a RAM 107, a wired LAN interface 108, a wireless LAN interface 109, and a USB interface 110.
[0010] The CPU 102 is a system control unit that controls the entire information processing device 101. The CPU 102 reads out programs stored in storage media such as the external storage device 103 and the ROM 106 into the RAM 107 as a work area and executes the programs to perform various processes.
[0011] The external storage device 103 is, for example, a storage device such as a hard disk drive (HDD) or a solid state drive (SSD). The external storage device 103 stores a group of application programs, an operating system (OS), a driver for the printer 121, and various other data. Hereinafter, the application programs are referred to as apps.
[0012] A keyboard 111 and a mouse 112 are connected to the input interface 104. The input interface 104 acquires information about the user received via input devices such as the keyboard 111 and the mouse 112, and transmits the information to the CPU 102. A display unit 113, which is a display device such as a display, is connected to the output interface 105.
[0013] The ROM 106 is, for example, a non-volatile storage, and stores fixed data such as programs and data tables executed by the CPU 102, and an embedded operating system (hereinafter referred to as OS) program. In this embodiment, the ROM 106 stores a portal application 114, a setup application 115, and the like. In the following description, the portal application 114 will be referred to as a first application 114, and the setup application 115 will be referred to as a second application 115.
[0014] The first application 114 and the second application 115 are applications related to a device connected to the information processing device 101. In this embodiment, the device connected to the information processing device 101 is a printer 121. The first application 114 is an application capable of issuing instructions to execute functions of the printer 121 connected to the information processing device 101. The second application 115 is an application that sets up the printer 121 connected to the information processing device 101. In this embodiment, the CPU 102 reads the first application 114 and the second application 115 into the RAM 107 and executes them to perform various processes including setup. Note that in this embodiment, the first application 114 is a portal application that can execute not only a function of activating the second application 115 and causing the second application 115 to set up the printer 121, but also a print job transmission function and a scan job transmission function. The print job transmission function is, specifically, a function of transmitting a print job to the printer 121 to cause the printer 121 to print image data selected by a user on the information processing device 101. Specifically, the scan job transmission function is a function of causing the printer 121 to execute a scan and transmitting a scan job to the printer 121 to transmit image data obtained by the scan to the information processing device 101. The second application 115 has a function of setting up the printer, but does not have a print job transmission function or a scan job transmission function, and is an application dedicated to setup. However, the present invention is not limited to this, and for example, the second application 115 may also have a print job transmission function or a scan job transmission function.
[0015] The wired LAN interface 108, the wireless LAN interface 109, and the USB interface 110 are communication interfaces that perform data communication with external devices. The wired LAN interface 108 is an interface that allows wired communication with external devices via a router 151 or the like. The wireless LAN interface 109 is an interface that allows wireless communication with external devices via a wireless LAN access point 152 or the like. The USB interface 110 is an interface that allows local communication with external devices.
[0016] The configuration of the information processing device 101 is not limited to the above-described configuration, and the device applied as the information processing device 101 may have any configuration appropriate for the functions that can be executed.
[0017] Next, a description will be given of the hardware configuration of the printer 121. The printer 121 has a CPU 122, a ROM 123, a RAM , an input interface 125, an output interface 126, a wired LAN interface 127, a wireless LAN interface 128, a USB interface 129, and a print engine .
[0018] Furthermore, an operation unit 131 is connected to the input interface 125, and a display unit 132 is connected to the output interface 126. Description of the same components as those in the information processing device 101 will be omitted.
[0019] The print engine 130 is a module that realizes print processing by controlling a printing unit (not shown) that executes print functions based on print data, print settings, print control information, etc. received from the first application 114, etc. The operation unit 131 is, for example, an interface that accepts input of various settings and operation instructions from the user.
[0020] The information processing device 101 and the printer 121 are connected to each other via their respective interfaces and are capable of communicating with each other. For example, the USB interface 110 of the information processing device 101 and the USB interface 129 of the printer 121 may be connected by a USB cable. For example, they may be directly connected using a single USB cable, or they may be connected using two USB cables via a USB hub (not shown). When wired communication is performed between the wired LAN interface 108 of the information processing device 101 and the wired LAN interface 127 of the printer 121, the information processing device 101 and the printer 121 are connected via a router 151. When wireless communication is performed between the wireless LAN interface 109 of the information processing device 101 and the wireless LAN interface 128 of the printer 121, the information processing device 101 and the printer 121 are connected via a wireless LAN access point 152. When the router 151 and the wireless LAN access point 152 are on the same network, communication is possible via both wired LAN and wireless LAN. For this reason, the wired LAN interface 108 of the information processing device 101 may be connected to the wireless LAN interface 128 of the printer 121. Also, the wireless LAN interface 109 of the information processing device 101 may be connected to the wired LAN interface 127 of the printer 121. The router 151 and the wireless LAN access point 152 are connected to the Internet, and the information processing device 101 and the printer 121 can access the Internet through their respective wired LAN interfaces and wireless LAN interfaces. Up to this point, three types of interfaces, wired LAN, wireless LAN, and USB, have been described as methods for mutual communication between the information processing device 101 and the printer 121. For example, it is not necessary to have all three types of interfaces; it is sufficient to have any one type of interface.
[0021] <Direct connection method> A direct connection refers to a wireless connection between devices directly (i.e., peer-to-peer) without going through an external device such as a wireless LAN access point 152. A direct connection is also called a peer-to-peer connection (P2P connection). The printer 121 can operate in a mode for communication via a direct connection (direct connection mode) as one of the connection modes. In Wi-Fi communication, there are multiple modes for communication via a direct connection, such as software AP mode and Wi-Fi Direct (WFD) mode.
[0022] The mode in which a direct connection is established using WFD is called WFD mode. WFD is a standard established by the Wi-Fi Alliance and is included in the IEEE 802.11 series of communication standards. In WFD mode, after a device discovery command is used to search for a communication partner, the roles of P2P group owner (GO) and P2P client are determined, and the remaining wireless connection processing is carried out. The group owner corresponds to a Wi-Fi parent station (parent device), and the client corresponds to a Wi-Fi child station (child device). This role determination corresponds, for example, to GO negotiation in P2P. Note that in WFD mode, before the role determination is made, the printer 121 is neither a parent station nor a child station. Specifically, one device first issues a device discovery command to search for a device to connect to in WFD mode. Once the other device is discovered, the two devices confirm information about the services and functions that each device can provide. Note that this device provisioning information confirmation is optional and not required. This device provision information confirmation phase corresponds to, for example, P2P Provision Discovery. Next, by mutually confirming this device provision information, it is determined which one will be the P2P client and which one will be the P2P group owner. Next, once the client and group owner have been determined, they exchange parameters for WFD communication. Based on the exchanged parameters, the remaining wireless connection processing and IP connection processing are performed between the P2P client and group owner. Note that in WFD mode, the printer 121 may always operate as the GO without performing the above-mentioned GO Negotiation. In other words, the printer 121 may operate in WFD mode, which is an autonomous GO mode. Furthermore, the state in which the printer 121 operates in WFD mode refers to, for example, a state in which a WFD connection is not established but the printer 121 operates as the GO, or a state in which a WFD connection is established and the printer 121 operates as the GO.
[0023] In the software AP mode, between devices communicating with each other (for example, the information processing device 101 and the printer 121), one device (for example, the information processing device 101) acts as a client that requests various services. The other device then realizes the functions of a Wi-Fi AP through software settings. The software AP corresponds to a Wi-Fi parent station, and the client corresponds to a Wi-Fi child station. In the software AP mode, the client searches for a device that will become the software AP using a device search command. Once the software AP is found, the remaining wireless connection processing (establishing a wireless connection, etc.) between the client and the software AP is carried out, and then IP connection processing (assigning an IP address, etc.) is carried out. Note that commands and parameters transmitted and received when establishing a wireless connection between the client and the software AP may be those specified in the Wi-Fi standard, and therefore a description thereof will be omitted here.
[0024] In this embodiment, when the printer 121 establishes and maintains a direct connection, it operates as a master station in the network to which the printer 121 belongs. The master station is a device that builds a wireless network and provides parameters used for connecting to the wireless network to the slave stations. The parameters used for connecting to the wireless network are, for example, parameters related to the channel used by the master station. By receiving the parameters, the slave stations connect to the wireless network built by the master station using the channel used by the master station. Because the printer 121 operates as a master station in the direct connection mode, it is possible for the printer 121 to determine which frequency band and which channel to use for communication in the direct connection mode. In this embodiment, the printer 121 is capable of using a channel corresponding to the 2.4 GHz frequency band and a channel corresponding to the 5 GHz frequency band for communication in the direct connection mode.
[0025] <About infrastructure connection methods> An infrastructure connection is a connection mode in which devices (for example, the information processing device 101 and the printer 121) connect to an AP (for example, a wireless LAN access point 152) that manages a network of devices that communicate with each other, and the devices communicate with each other via the AP. The printer 121 can also operate in a mode for communicating via an infrastructure connection (infrastructure connection mode) as one of the connection modes.
[0026] In an infrastructure connection, each device searches for an AP using a device discovery command. Once an AP is discovered, the remaining wireless connection processing (establishing a wireless connection, etc.) is carried out between the device and the AP, and then the IP connection processing (assigning an IP address, etc.) is carried out. Note that the commands and parameters sent and received when establishing a wireless connection between a device and an AP can be those specified in the Wi-Fi standard, and so a description of them will be omitted here.
[0027] In this embodiment, when the printer 121 operates via an infrastructure connection, the wireless LAN access point 152 serves as a master station, and the printer 121 serves as a slave station. In other words, in this embodiment, the infrastructure connection refers to a connection between the printer 121 operating as a slave station and a device operating as a master station. When the printer 121 has established an infrastructure connection and the information processing device 101 has also established an infrastructure connection with the wireless LAN access point 152, communication between the printer 121 and the information processing device 101 becomes possible via the wireless LAN access point 152. The channel used for communication in the infrastructure connection is determined by the wireless LAN access point 152, and the printer 121 performs communication in the infrastructure connection using the channel determined by the wireless LAN access point 152. In this embodiment, the printer 121 is capable of using a channel corresponding to the 2.4 GHz frequency band and a channel corresponding to the 5 GHz frequency band for communication in the infrastructure connection. Note that the printer 121 can also use a channel corresponding to the DFS band in the 5 GHz frequency band for communication in the infrastructure connection. In order to communicate with the printer 121 via the wireless LAN access point 152, the information processing device 101 recognizes and identifies that the printer 121 belongs to the network formed by the wireless LAN access point 152 and to which the information processing device 101 belongs.
[0028] <Connection setup process> In this embodiment, the information processing device 101 performs connection settings (network settings) for operating the printer 121 using at least one of an infrastructure connection and a direct connection communication method, using wireless communication with the printer 121. The connection setting process in this embodiment is also called cableless setup (CLS) because it is performed via wireless communication. Note that the connection setting process may also be performed via wired communication. The information processing device 101 performs connection setting processing for the printer 121 when the second application 115 stored in the external storage device 103 or the like is running. The printer 121 can operate in a connection setting mode (connection setting state), which is a mode for performing the connection setting process, and performs the connection setting process while operating in the connection setting mode. The connection setting mode will be described in detail later.
[0029] When the information processing device 101 operates the printer 121 in the infrastructure connection mode, it wirelessly transmits infrastructure setting information, which is setting information for operating the printer 121 in the infrastructure connection mode, to the printer 121. The infrastructure setting information includes information about the wireless LAN access point 152. The information about the wireless LAN access point 152 includes, for example, information about the SSID (Service Set Identifier), password, frequency band, etc.
[0030] On the other hand, when the information processing device 101 operates the printer 121 in the direct connection mode, it wirelessly transmits direct setting information, which is setting information for operating the printer 121 in the direct connection mode, to the printer 121. The direct setting information includes instructions for enabling the WFD function to operate the printer 121 as a Group Owner and for enabling the access point setting of the printer 121. The information processing device 101 also acquires connection information required for directly connecting to the printer 121 from the printer 121. The connection information for directly connecting to the printer 121 includes, for example, information such as the SSID and password of the printer 121.
[0031] In this embodiment, a direct connection for connection setting between the information processing device 101 and the printer 121 is used to transmit infrastructure setting information and direct setting information and to obtain information for directly connecting to the printer 121 in the connection setting process. In this embodiment, the connection setting process is performed using Wi-Fi as the direct connection for connection setting, but a wireless communication standard other than Wi-Fi, such as Bluetooth, may also be used. Furthermore, a wired communication standard such as a wired LAN or USB (Universal Serial Bus) may also be used as the direct connection for connection setting.
[0032] After a Wi-Fi infrastructure connection or a direct connection is established between the information processing device 101 and the printer 121 through the connection setting process, communication between the information processing device 101 and the printer 121 becomes possible via the established connection. Specifically, for example, the information processing device 101 can send to the printer 121, via the established connection, a print job for causing the printer 121 to print or a scan job for causing the printer 121 to scan. Note that in this embodiment, the connection setting process can cause the printer 121 to operate in either infrastructure connection mode or direct connection mode, but is not limited to this. For example, the connection setting process may be configured to only cause the printer 121 to operate in infrastructure connection mode (i.e., the printer 121 cannot operate in direct connection mode).
[0033] <About connection setting mode> Printer 121 can operate in a connection setting mode. The trigger for printer 121 to start operation in the connection setting mode may be, for example, a user pressing a connection setting mode button, or printer 121 starting up (powering on) for the first time after arrival. The connection setting mode button may be a hardware button provided on printer 121, or may be a software button displayed on display unit 132 by printer 121.
[0034] When the printer 121 starts operating in the connection setting mode, it enables both Wi-Fi communication and BLE communication. Specifically, as a process for enabling Wi-Fi communication, the printer 121 enables an internal AP (connection setting AP) of the printer 121 that is dedicated to the connection setting mode. This puts the printer 121 in a state where it can establish a direct connection via Wi-Fi with the information processing device 101. Connection information (SSID and password) for connecting to the connection setting AP is stored in advance in the first application 114 and the second application 115 installed in the information processing device 101. In other words, it is assumed that the information processing device 101 recognizes in advance the connection information for connecting to the connection setting AP. Note that an encryption method may not be set in the connection setting AP, and a password may not be required for connecting to the AP. Therefore, unlike the connection information of the AP enabled in the direct connection mode, it is assumed that the connection information for connecting to the connection setting AP cannot be arbitrarily changed by the user. In the connection setting mode, the printer 121 may connect to the information processing device 101 via Wi-Fi Direct (WFD) instead of normal Wi-Fi. That is, the printer 121 may operate as a Group Owner and receive a setting command from the information processing device 101 via WFD communication.
[0035] 1, the printer 121 may have a configuration appropriate for the functions that can be executed by the device applied as the printer 121. The printer 121 may also be a printer using an inkjet recording method, or a printer using another recording method such as an electrophotographic method, a thermal transfer method, or a dot impact method. The printer 121 may also be a multifunctional peripheral (MFP) that is integrated with functions such as a scanner and a facsimile.
[0036] <About the automatic search function> To execute the connection setting process, the information processing device 101 needs to search for and discover (detect) the printer 121 operating in the connection setting mode. Therefore, in this embodiment, the first application 114 has a function of executing a process (search process) for searching for the printer 121 operating in the connection setting mode upon activation of the first application 114. Hereinafter, this function will be referred to as an automatic search function. In other words, the search process is a process for detecting the printer 121 operating in the connection setting mode, so this function will also be referred to as an automatic detection process. Furthermore, the search for the printer 121 operating in the connection setting mode is specifically performed by a process for searching for access points present around the information processing device 101 using a communication method based on the IEEE 802.11 standard. Hereinafter, this search process will be referred to as a first search process. Note that some users may not want the process for searching for the printer 121 operating in the connection setting mode to be executed upon activation of the first application 114. Therefore, in this embodiment, the first application 114 can enable or disable a setting for executing the automatic search function (hereinafter, an automatic search setting). FIG. 16 shows an example of a setting screen 1600 for changing the automatic search setting. This screen is displayed when a predetermined user operation is performed on a screen displayed by the first application 114. A check box 1601 included in the setting screen 1600 is a check box for switching the content of the automatic search setting. When the automatic search setting is enabled, the first search process is executed upon activation of the first application 114. On the other hand, when the automatic search setting is disabled, the first search process is not executed upon activation of the first application 114. Even when the automatic search setting is disabled, the first search process may be executed if a specific operation for the first search process is performed on a screen displayed by the first application 114 after activation of the first application 114.
[0037] <Problems to be solved by this embodiment> As described above, in this embodiment, in order to execute a connection setting process for the printer 121, the information processing device 101 needs to search for the printer 121 operating in connection setting mode and connect to the printer 121 found in the search. The search for the printer 121 operating in connection setting mode is performed by a first search process. The first search process is executed by the OS when an application of the information processing device 101 executes an OS-standard Application Programming Interface (API) for instructing the OS to execute the first search process. The OS-standard API for instructing the OS to execute the first search process is hereinafter referred to as the first search API. In the first search process, the OS attempts to receive beacons emitted by access points present around the information processing device 101. If any of the beacons is received, the access point emitting the received beacon is discovered. The application that executed the first search API obtains, from the OS, information about the access points found by the first search process as information indicating the result of the first search process. This allows the application to recognize access points that exist around the information processing device 101 and that have been discovered by a search executed by the information processing device 101. In this embodiment, it is assumed that both the first application 114 and the second application 115 are capable of executing the first search API. Furthermore, if a communication device has an enabled access point, the first search process can discover the communication device that has the enabled access point. Therefore, each application can discover the printer 121 that has an enabled access point by operating in the connection setting mode.
[0038] However, even if an app executes the first search API, there are cases in which the first search process is not executed by the OS. Specifically, such cases include, for example, when the OS of the information processing device 101 is a predetermined version or higher and the setting items related to the location information service managed by the OS of the information processing device 101 are not set to predetermined content. The location information service is a service that allows apps to use information indicating the location of the information processing device 101, which is information provided by the OS. In the location information service, the location of the information processing device 101 is identified based on information acquired from, for example, a Global Positioning System (GPS), an access point, or a telephone base station. Specifically, an OS version equal to or higher than the predetermined version is MacOS 14. An OS version lower than the predetermined version is, in other words, an OS version older than the predetermined version, such as MacOS 13. In this embodiment, it is assumed that there is a first setting that is a setting for permitting apps included in the information processing device 101 to use the location information service. It is also assumed that there is a second setting that is a setting for selecting the first app 114 as an app permitted to use the location information service by the first setting. Also, it is assumed that there is a third setting, which is a setting for selecting the second application 115 as an application for which use of the location information service is permitted by the first setting. Specifically, the predetermined content for the first search process to be executed by the OS using the first search API executed by the first application 114 is that the first setting is valid and the second setting is set to enabled. Specifically, the predetermined content for the first search process to be executed by the OS using the first search API executed by the second application 115 is that the first setting is valid and the third setting is set to enabled. If the first search process is not executed by the OS, the information processing device 101 cannot discover the printer 121 operating in the connection setting mode, and as a result, cannot execute the connection setting process for the printer 121.
[0039] Therefore, in this embodiment, in a case where the first search process is not executed by the OS even if the app executes the first search API, a process is executed to control the state in which the first search process is executed by the OS as a result of the app executing the first search API. Specifically, when the first setting is invalid, the first app 114 or the second app 115 displays a dialog box to prompt the user to enable the first setting.
[0040] On the other hand, some users desire to use the first application 114 or the second application 115 while the first setting remains disabled. Such users continue to use the first application 114 or the second application 115 without enabling the first setting, even if the dialog is displayed in the second application 115. In this case, there is a problem that it is annoying for the user if the dialog is also displayed in the first application 114 despite the dialog being displayed in the second application 115.
[0041] Therefore, in this embodiment, even if the first setting is disabled, if the dialog is displayed in the second application 115, the dialog is controlled not to be displayed in the first application 114 either. This makes it possible to reduce the annoyance that the user may feel when using the first application 114, and improve the convenience of the first application 114.
[0042] <About the screen for setting location information services> The OS-standard setting application included in the information processing device 101 can display a setting screen 600 for changing settings related to location information services, as shown in FIG. 6 . The setting screen 600 is displayed within a window displayed by the OS-standard setting application. In the setting screen 600, an area 601 is an area for enabling or disabling a first setting. The area 601 includes a first toggle button, and operating the first toggle button enables or disables the first setting. Note that when the first setting is enabled, apps selected as apps whose use of location information services is permitted by the first setting can use the location information services. Even when the first setting is enabled, apps whose use of location information services is not selected as apps whose use of location information services is permitted by the first setting cannot use the location information services. On the other hand, when the first setting is disabled, all apps included in the information processing device 101 cannot use the location information services. When the first setting is disabled, an area 602 (described below) may be grayed out, and operations on the area 602 may be disabled. Furthermore, when the first setting is disabled, all settings that can be set in the area 602 may be disabled.
[0043] Area 602 is an area for selecting an app other than the OS standard setting app as an app that is permitted to use location information services by the first setting. In this embodiment, area 602 includes area 603 for enabling or disabling the second setting and area 604 for enabling or disabling the third setting. Area 603 includes a second toggle button, and operating the second toggle button enables or disables the second setting. Note that when the second setting is enabled, the first app 114 is selected as an app that is permitted to use location information services by the first setting, and the first app 114 can use the location information services. On the other hand, when the second setting is disabled, the first app 114 is not selected as an app that is permitted to use location information services by the first setting, and the first app 114 cannot use the location information services. Similarly, area 604 includes a third toggle button, and operating the third toggle button enables or disables the third setting. Note that when the third setting is enabled, the second application 115 is selected as an application for which use of the location information service is permitted by the first setting, and the second application 115 is able to use the location information service. On the other hand, when the third setting is disabled, the second application 115 is not selected as an application for which use of the location information service is permitted by the first setting, and the second application 115 is unable to use the location information service. Furthermore, the area 602 is an area related to an application other than the first application 114 and the second application 115, and may include areas similar to the area 603 and the area 604.
[0044] In this embodiment, the state related to the second setting includes a state in which the second setting is enabled, a state in which the second setting is disabled, and a state in which the second setting is neither enabled nor disabled. A state in which the second setting is neither enabled nor disabled corresponds to a state in which the second setting is in its initial state. The state in which the second setting is in its initial state corresponds to a state in which neither an operation to enable the second setting nor an operation to disable the second setting has been performed in the past. Similarly, the state related to the third setting includes a state in which the third setting is enabled, a state in which the third setting is disabled, and a state in which the third setting is neither enabled nor disabled. The state in which the third setting is neither enabled nor disabled corresponds to a state in which the third setting is in its initial state. The state in which the third setting is in its initial state corresponds to a state in which neither an operation to enable the third setting nor an operation to disable the third setting has been performed in the past. When the second setting is enabled or disabled, region 603 is displayed within region 602, but when the second setting is in the initial state, region 603 may not be displayed within region 602. Similarly, when the third setting is enabled or disabled, region 604 is displayed within region 602, but when the third setting is in the initial state, region 604 may not be displayed within region 602. That is, region 602 may only display regions related to apps whose setting as apps permitted to use location information services by the first setting is enabled or disabled via a dialog box described below.
[0045] <Processing Executed by the Information Processing Device 101 in This Embodiment> Fig. 2 is a flowchart showing an example of processing executed by the first application 114 in the present embodiment by the information processing device 101. The processing executed by the first application 114 in Fig. 2 is realized, for example, by the CPU 102 expanding a control program stored in a memory such as the ROM 106 into the RAM 107 and executing the control program. Furthermore, when the first application 114 installed in the information processing device 101 is started, the first application 114 executes the processing in Fig. 2.
[0046] In S201, the first application 114 displays the top screen.
[0047] In S202, the first application 114 determines whether the activation of the first application 114 is the first activation. In this embodiment, the first activation includes the first activation since the first application 114 is installed in the information processing device 101. The first activation also includes the first activation since the first application 114 installed in the information processing device 101 is updated. If the first application 114 determines YES, the process proceeds to S203, and if the first application 114 determines NO, the process proceeds to S221.
[0048] In S203, the first application 114 executes control for obtaining consent to a software license agreement. The software license agreement is an End-User License Agreement (EULA), and in the following description, the software license agreement may be referred to as a license agreement. Specifically, in this process, the first application 114 displays a screen 300 for obtaining a software license, shown in FIG. 3, on the display unit 113. In other words, the screen 300 is also a screen displayed upon activation of the first application 114. The screen 300 is displayed in front of the top screen displayed in S201. While the screen 300 is displayed, the top screen is grayed out so that operations on the top screen are disabled. The screen 300 also includes a link 301 to the contents of the license agreement, a button 302 for agreeing to the license agreement, a button 303 for disagreeing to the license agreement, and the like. In other words, the screen 300 is also a consent screen for requesting consent from the user. The license agreement includes not only the license agreement for the first application 114 but also the license agreement for the second application 115. That is, the license agreement serves as license agreements for multiple applications for using the printer 121. In other words, the processing of S203 is a control for obtaining consent to both the software license agreement for the first application 114 and the software license agreement for the second application 115. Consent to software license agreements for other applications provided by the vendor that provides the first application 114 or the second application 115 may also be obtained through the screen 300. This eliminates the need for consent to a license agreement for each application when using multiple applications for the printer 121. Therefore, the user can immediately use each application.
[0049] In S203, if the user presses the "agree to the license agreement" button 302, the first application 114 determines that the user agrees to the contents of the license agreement (agreement to the license agreement has been obtained), and proceeds to the processing of S204. In S203, for example, if the user presses the "do not agree to the license agreement" button 303, the first application 114 may end the processing of FIG.
[0050] In S204, the first application 114 acquires queue information, which is information related to print queues, from the OS. A print queue is information created and managed by the OS, and one or more print queues are created for each printer. When the information processing device 101 executes communication for creating a print queue with a printer connected to the information processing device 101 via various interfaces, the OS creates a print queue corresponding to that printer. Creating a print queue by the OS enables the information processing device 101 to send various jobs to the printer corresponding to the print queue.
[0051] In S205, the first application 114 communicates with the printer corresponding to the queue information acquired in S204 and acquires various information such as capability information from the printer. The first application 114 then updates the top screen based on the information acquired in S205. By receiving the capability information from the printer, a registration process is executed to register the printer in the first application 114. The updated screen then displays information about the printer corresponding to the queue information acquired in S204. Note that if there are multiple print queues managed by the OS and therefore multiple printers corresponding to the queue information acquired in S204, the first application 114 communicates with one of the multiple printers. However, this is not limited to this, and the first application 114 may communicate with all of the multiple printers, acquire capability information from each printer, and register each printer in the first application 114. In addition, in this process, it is assumed that the printer with which the first application 114 communicates is a printer provided by the same vendor as the vendor that provides the first application 114.
[0052] In S206, the first application 114 displays a query screen inquiring whether to add a new printer as a printer to be used by the first application 114. In other words, the new printer is a printer different from the printer corresponding to the information acquired in S205. In this embodiment, the process of adding a new printer is executed by the second application 115. Therefore, this query screen corresponds to a screen inquiring whether to start the second application 115. In this process, specifically, the first application 114 displays a screen 400 shown in FIG. 4 on the display unit 113. The screen 400 includes a message, buttons 401 and 402. The message included in the screen 400 is, for example, a message indicating which button to operate in which use case. The button 401 is a button for adding a new printer and a button for starting the second application 115. The button 402 is a button for using the printer corresponding to the queue information acquired in S204 in the first application 114 without adding a new printer. When button 402 is pressed, second application 115 is not launched. Screen 400 is displayed in front of the top screen displayed in S201, and while screen 400 is displayed, the top screen is grayed out so that operations on the top screen are disabled.
[0053] The communication in S205 may include communication for confirming whether the printer has been initialized. If the communication confirms that the printer has been initialized, the screen of FIG. 4 may be displayed in S206. On the other hand, if the communication confirms that the printer has not been initialized, a screen different from the screen of FIG. 4 may be displayed in S206. Specifically, the other screen is a screen that includes button 401 but does not include button 402. Furthermore, if queue information is not acquired or if there is no printer provided by the same vendor as the vendor that provides the first application 114 that corresponds to the acquired queue information, the other screen described above may be displayed. If any button is pressed on screen 400, the first application 114 proceeds to S207.
[0054] In S207, the first application 114 determines whether or not the button 401 has been pressed. Pressing the button 401, in other words, is acceptance of an instruction to add a printer, and acceptance of an instruction to start the second application 115. If the button 402 has been pressed, this determination is NO. If the first application 114 determines YES, it proceeds to S208, and if it determines NO, it proceeds to S223.
[0055] In S208, the first application 114 executes processing for launching the second application 115 downloaded to the information processing device 101. In this processing, the first application 114 executes an API for launching the second application 115, thereby executing a launch process for notifying the OS of a launch instruction for launching the second application 115. The launch instruction for launching the second application 115 includes a launch command for launching the second application 115 and launch parameters. The launch parameters are information indicating the application that launched the second application 115, and are added as options to the launch command. In this embodiment, the launch parameters are added as command line arguments. In this embodiment, the command line argument that the first application 114 adds as an option to the launch instruction for the second application 115 is defined as “ / BOOT_PORTAL:YES.” The second application 115 launched by the first application 114 executes setup processing for the printer 121. Details of the setup processing for the printer 121 will be described later with reference to FIG. 7. Furthermore, the start of the second application 115 in response to a start instruction executed by the first application 114 is referred to as cooperative start of the second application 115.
[0056] In S209, the first application 114 determines whether or not the setup result has been received from the second application 115. If the first application 114 determines YES in S209, the process proceeds to S210, and if the first application 114 determines NO, the process of S209 is repeated. A specific method by which the first application 114 receives the setup result from the second application 115 will be described later with reference to FIG.
[0057] First, in S210, the first application 114 activates itself (the first application 114). In other words, the first application 114 puts itself (the first application 114) into an active state. In this embodiment, the active state of an application refers to a state in which a screen displayed by the active application is displayed in the foreground on the display unit 113 and is operable by the user. The active state of an application also refers to a state in which the application is running in the foreground. For example, if the user uses another application while the second application 115 is setting up the printer 121, the screen of the first application 114 may be displayed behind the screen of the other application. Even in such a case, by the first application 114 putting itself into an active state, the screen of the first application 114 is displayed in the foreground on the display unit 113 and is operable by the user. In other words, the first application 114 runs in the foreground. This allows the user to perform operations on the screen of the first application 114 without hesitation. Furthermore, for example, while the second application 115 is executing a process, the first application 114 may be terminated by a user operation or the like. Even in such a case, the first application 114 is launched and activated by a process at the time of termination of the second application 115 shown in FIG. 13 , which will be described later. This allows the subsequent process shown in FIG. 2 to be continued. Note that the activation of the first application 114 is executed, for example, based on the second application 115 executing an API for activating the first application 114, in response to an instruction from the OS that has accepted the execution of the API. In other words, the activation of the first application 114 is the activation of a window of the first application 114.
[0058] In addition, in S210, the first application 114 is set to the active state regardless of the state of its own screen. However, this is not limiting. For example, depending on the state of the screen of the first application 114, or the states of the screens of an operating system (OS) (not shown) of the information processing device 101 and other applications, the screen of the first application 114 may not be changed to the active state. For example, if the screen of the first application 114 is minimized by a user operation, the first application 114 may determine that it is desired to preferentially display the screen of another application. In this case, the first application 114 may flash the application icon of the first application 114 displayed on the display unit 113, or the like, without changing the screen of the first application 114 to the active state in S210. By flashing the application icon of the first application 114, or the like, the user can be notified that the setup function of the first application 114 has been completed.
[0059] Thereafter, in S210, the first application 114 updates the top screen based on the received setup result. Specifically, the first application 114 registers the printer corresponding to the received setup result in the first application 114. The first application 114 then displays a screen for using the functions of the set up printer 121 on the display unit 113. That is, the first application 114 is an application that allows the user to issue an instruction to execute the functions of the printer 121 connected to the information processing device 101. Specifically, the first application 114 displays a top screen 500 shown in FIG. 5 on the display unit 113. The top screen 500 has a printer function button 501, a printer icon 502, a setup start button 503, and the like. The setup start button 503 is a button for setting up a new printer 121. In other words, the setup start button 503 is also a button for adding a new printer 121. The printer function button 501 is a button for executing each function of the printer 121, such as printing or scanning. The user can execute the functions of the printer 121 by pressing each printer function button 501. Specifically, for example, the printer function buttons 501 include a button for executing a function of sending a print job to the printer 121 to print. Also, for example, the printer function buttons 501 include a button for executing a function of sending a scan job to the printer 121 to scan. The printer function buttons 501 may include, for example, a button for displaying a manual for the printer 121. The printer icon 502 is an icon indicating a printer registered in the first application 114 and shows an image corresponding to the model of the printer. Note that in S211, the first application 114 uses the identification information of the printer 121 acquired from the second application 115 as a setup result to search for the printer 121 corresponding to the identification information on the network to which the information processing device 101 belongs. Then, various information such as capability information is acquired from the printer discovered by the search. As a result, the printer discovered by the search is registered in the first application 114.The printer icon 502 indicates the printer 121 discovered by the search. That is, in S210, a screen on which the functions of the printer 121 can be used is displayed based on the successful setup of the printer 121. As a result, after the setup of the printer 121 is complete, the user can use the set-up printer 121 from the top screen 500 without launching the first app by the user. At this time, the first app 114 may acquire from the OS a print queue related to the printer 121 corresponding to the identification information, which has been registered by the setup process executed by the second app 115. Then, the print queue may register the printer corresponding to the print queue in the first app 114.
[0060] If the received setup result indicates a setup failure, the first application 114 may display a setup failure notification screen including a message indicating that the setup has failed. Also, the first application 114 may display a re-setup guidance screen including a button for starting the setup function again.
[0061] The processing from S211 onwards is executed based on the completion of the setup processing by the second application 115. In other words, the processing from S211 onwards is executed based on the activation of the first application 114 based on the API executed by the second application 115, or the launch of the first application 114 based on the API executed by the second application 115. In further other words, the processing from S211 onwards is executed based on the first application 114 receiving a setup result from the second application 115.
[0062] In S211, the first application 114 determines whether the automatic search setting is enabled. If the first application 114 determines YES, the process proceeds to S212. If the first application 114 determines NO, the process ends the process of this flowchart without executing the automatic search function or executing the process for enabling the first setting or the second setting. In this embodiment, it is assumed that the automatic search setting is enabled when the first application 114 is launched for the first time. Therefore, the result of this determination is always YES when the first application 114 is launched for the first time. However, when the first application 114 is launched for the second or subsequent time and this process is executed after S226, the result of this determination may be YES or NO.
[0063] In S212, the first application 114 determines whether the OS of the information processing device 101 is a predetermined version or higher. In this embodiment, the predetermined version is MacOS 14, but is not limited to this and may be any OS version that includes the setting contents of the location information service in the OS execution conditions for the first search process. If the first application 114 determines YES, it proceeds to S213, and if it determines NO, it proceeds to S223.
[0064] It is assumed that the OS of the information processing device 101 can be updated from an OS below a predetermined version to an OS equal to or higher than the predetermined version. In this case, the first application 114 on one information processing device 101 may output either YES or NO as the result of this determination. That is, the second application 115 on one information processing device 101 may determine NO when executed before the OS is updated, and may determine YES when executed after the OS is updated. However, in a configuration in which the OS of the information processing device 101 cannot be updated, the first application 114 on one information processing device 101 outputs only either YES or NO as the result of this determination. That is, the information processing device 101 on which the first application 114 is running when the result of this determination is YES is different from the information processing device 101 on which the first application 114 is running when the result of this determination is NO.
[0065] In S213, the first application 114 determines whether the first setting is enabled. Specifically, in this process, the first application 114 acquires information indicating whether the first setting is enabled from the OS by executing an API standard for the OS for acquiring the information. Then, this determination is made based on the information acquired in this manner. If the first application 114 determines YES, the process proceeds to S214, and if the first application 114 determines NO, the process proceeds to S215.
[0066] In S214, the first application 114 changes the automatic search setting to invalid. This processing is performed automatically without displaying the setting screen 1600 or accepting a user operation on the check box 1601. Thereafter, the processing of this flowchart ends.
[0067] In S215, the first application 114 determines whether the second setting is enabled. Specifically, in this process, the first application 114 acquires information indicating whether the second setting is enabled from the OS by executing an OS standard API for acquiring the information. Then, this determination is made based on the information acquired in this manner. If the first application 114 determines YES, the process proceeds to S223, and if the first application 114 determines NO, the process proceeds to S216.
[0068] In S216, the first application 114 determines whether the second setting is set to disabled. This determination is made based on the information acquired from the OS acquired in S215. Note that the second setting is set neither enabled nor disabled when the second setting is in the initial state. If the first application 114 determines YES, the process proceeds to S217, and if the first application 114 determines NO, the process proceeds to S218.
[0069] In S217, the first application 114 executes a process for enabling the second setting. Specifically, the first application 114 displays a first guide screen, which is a screen for enabling the first setting and the second setting. An example of the first guide screen 1200 displayed in this process is shown in FIG. 12(a). The first guide screen 1200 is displayed in a window displayed by the first application 114. The first guide screen 1200 includes a message for urging the user to enable the first setting and a message for urging the user to enable the second setting. The message for urging the user to enable the first setting is, in other words, a message recommending that the first setting be enabled. The message for urging the user to enable the second setting is, in other words, a message recommending that the second setting be enabled. The first guide screen 1200 may also include a message indicating that the first setting and / or the second setting must be enabled in order to use the functions of the first application 114. The first guide screen 1200 is a screen displayed by the first application 114 without using an OS-standard API. Therefore, the content of a message displayed on the first guide screen 1200 is not controlled by the OS, but is controlled by the first application 114. An area 1201 included in the first guide screen 1200 is a button for displaying the setting screen 600. When the area 1201 is pressed, the first application 114 notifies the OS-standard setting application to display the setting screen 600. Specifically, the first application 114 executes the OS-standard API for displaying the setting screen 600. As a result, the setting screen 600 is displayed by the OS-standard setting application in a window separate from the window displaying the first guide screen 1200. The user performs an operation to enable the first setting on the displayed setting screen 600. After performing the operation to enable the first setting on the setting screen 600, the user operates an area 1202 included in the first guide screen 1200. If the area 1202 is operated, the first application 114 proceeds to S219.
[0070] Note that the first setting has already been enabled when S217 is executed, and therefore the first guidance screen 1200 displayed in S217 only needs to include a message to prompt the user to enable the second setting, and does not necessarily need to include a message to prompt the user to enable the first setting.
[0071] In S218, the first application 114 executes processing for enabling the second setting. Specifically, the first application 114 executes processing for displaying a dialog for enabling the second setting. In this processing, the first application 114 executes an OS-standard API, which is an API for displaying a dialog for enabling the third setting and which requests the OS to use a location information service. When the API is executed, the OS displays the dialog in a window displayed by the first application 114. FIG. 17(a) shows an example of a dialog 1700 displayed in this processing. The dialog 1700 includes a button 1701 for enabling the second setting and a button 1702 for not enabling the second setting. The dialog 1700 also includes a message indicating that the first application 114 is attempting to use a location information service. The content of this message is controlled by the OS and cannot be controlled by the first application 114. However, the dialog 1700 can also display a message that can be controlled by the first application 114. Specifically, when an OS-standard API for displaying the dialog 1700 is executed, the first application 114 may notify the OS of an arbitrary message as an argument, and the message may be displayed in the dialog 1700. If the first application 114 does not notify the OS of a message as an argument, no message controlled by the first application 114 is displayed in the dialog 1700. The message controlled by the first application 114 may, for example, be a message indicating that use of a location information service must be permitted in order to execute the automatic search function. In other words, this message indicates that the first setting must be enabled in order to execute the automatic search function. The message controlled by the first application 114 may, for example, be a message indicating that the automatic search function will not be executed if use of a location information service is not permitted. In other words, this message indicates that the automatic search function will not be executed if enablement of the first setting is not permitted. When the button 1701 is operated by the user, the OS enables the second setting.That is, the OS sets the state in which the second setting is set to enabled. Furthermore, the OS notifies the first application 114 that the button 1701 has been operated by the user. On the other hand, if the button 1702 has been operated by the user, the OS disables the second setting. That is, the OS sets the state in which the third setting is set to disabled. Furthermore, the OS notifies the first application 114 that the button 1702 has been operated by the user. If the button 1701 or the button 1702 has been operated, the dialog is hidden. If the button 1701 or the button 1702 has been operated, the first application 114 proceeds to S219.
[0072] In S219, the first application 114 determines whether both the first setting and the second setting are enabled. In this process, specifically, the first application 114 executes an OS-standard API for acquiring information indicating whether the first setting is enabled from the OS and an OS-standard API for acquiring information indicating whether the second setting is enabled from the OS. As a result, the second application 115 acquires the information from the OS. Then, this determination is made based on the information acquired in this manner. If the first application 114 determines YES, the process proceeds to S223; if the first application 114 determines NO, the process proceeds to S220.
[0073] In S220, the first application 114 changes the automatic search setting to invalid. This process is the same as S214. Then, the process of this flowchart ends.
[0074] In the above description, if the determination result in S215 is NO, the processes of S217 and S218 are executed to enable the second setting, but this is not limiting. If the determination result in S215 is NO, the first application 114 may skip the processes of S216 to S219 and proceed directly to S220.
[0075] In S221, which is executed when the determination result in S202 is NO, the first application 114 determines whether the automatic search setting is enabled. If the first application 114 determines YES, the process proceeds to S222, and if the first application 114 determines NO, the process of this flowchart ends without executing the automatic search function or processing for enabling the first setting or the second setting.
[0076] In S222, the first application 114 determines whether the OS of the information processing device 101 is a predetermined version or higher. This process is similar to the process of S212. If the first application 114 determines YES, the process proceeds to S213, and if the first application 114 determines NO, the process proceeds to S223.
[0077] In S223, the first application 114 executes the automatic search function. Specifically, the first application 114 first executes the first search API to obtain the results of the first search process executed by the OS. Then, the first application 114 identifies a printer that is compatible with the first application 114 and is operating in the connection setting mode from one or more devices discovered by the first search process. A printer that is compatible with the first application 114 is, for example, a printer provided by the same vendor as the vendor that provides the first application 114. Note that the printer that is compatible with the first application 114 does not necessarily include all printers provided by the same vendor as the vendor that provides the first application 114, but may include only some of the printer models.
[0078] In S224, the first application 114 determines whether a printer that is compatible with the first application 114 and that is operating in connection setting mode has been discovered by the first search process. If a printer that is compatible with the first application 114 and that is operating in connection setting mode has been identified in S223, the result is determined as YES. On the other hand, if no device has been discovered by the first search process, the result is determined as NO. Furthermore, if the one or more devices discovered by the first search process do not include a printer that is compatible with the first application 114 and that is operating in connection setting mode, the result is determined as NO.
[0079] In S225, the first application 114 displays a first notification screen for notifying the user that a printer corresponding to the first application 114 and operating in the connection setting mode has been discovered. FIG. 18 shows an example of a first notification screen 1800 displayed in this process. The first notification screen 1800 includes an area 1801 and buttons 1802 and 1803. The area 1801 is an area for displaying information indicating the discovered printer. The information indicating the discovered printer is, for example, the model name (product name) and serial number of the discovered printer. This information is included in a beacon emitted by a printer operating in the connection setting mode. The button 1802 is a button for adding a new printer as a printer to be used by the first application 114 and for launching the second application 115. In this embodiment, the process of adding a new printer is executed by the second application 115. Therefore, the first notification screen corresponds to a screen for inquiring whether to launch the second application 115. The button 1803 is a button for selecting not to add a new printer. Therefore, when the button 1803 is pressed, the second application 115 is not started. When any button is pressed on the first notification screen 1800, the first application 114 proceeds to S226.
[0080] In S226, the first application 114 determines whether or not the button 1802 has been pressed. Pressing the button 1802, in other words, is acceptance of an instruction to add a printer, and acceptance of an instruction to start the second application 115. If the button 1803 has been pressed, this determination is NO. If the first application 114 determines YES, it proceeds to S208, and if it determines NO, it ends the processing of this flowchart.
[0081] In S227, which is executed when the determination result in S222 is YES, the first application 114 determines whether the first setting is enabled. This process is the same as the process in S213. If the first application 114 determines YES, the process proceeds to S229, and if the first application 114 determines NO, the process proceeds to S228.
[0082] In S228, the first application 114 displays the first guidance screen 1200. This process is similar to the process of S217. Note that the first guidance screen 1200 displayed in S228 only needs to include a message for prompting the user to enable the first setting, and does not necessarily need to include a message for prompting the user to enable the second setting. When the area 1202 is operated, the first application 114 proceeds to S233.
[0083] In S229, the first application 114 determines whether the second setting is enabled. This process is the same as the process of S215. If the first application 114 determines YES, the process proceeds to S223, and if the first application 114 determines NO, the process proceeds to S230.
[0084] In S230, the first application 114 determines whether the second setting is set to invalid. This process is the same as the process of S216. If the first application 114 determines YES, the process proceeds to S231, and if the first application 114 determines NO, the process proceeds to S232.
[0085] In S231, the first application 114 displays the first guidance screen 1200. This process is similar to the process of S217. Note that when S231 is executed, the first setting has already been enabled. Therefore, the first guidance screen 1200 displayed in S231 only needs to include a message for prompting the user to enable the second setting, and does not necessarily need to include a message for prompting the user to enable the first setting. When the area 1202 is operated, the first application 114 proceeds to S233.
[0086] In S232, the first application 114 executes processing for validating the second setting. This processing is the same as the processing of S218. If the button 1701 or the button 1702 is operated, the first application 114 proceeds to S233.
[0087] In S233, the first application 114 determines whether or not both the first setting and the second setting are enabled. This process is the same as the process of S219. If the first application 114 determines YES, the process proceeds to S223, and if the first application 114 determines NO, the process proceeds to S234.
[0088] In S234, the first application 114 changes the automatic search setting to invalid. This process is the same as S214. Then, the process of this flowchart ends.
[0089] 7 shows an example of a flowchart illustrating the setup process executed by the information processing device using the second application. The process in FIG. 7 is realized, for example, by the CPU 102 loading a control program stored in a memory such as the ROM 106 into the RAM 107 and executing it. This process is started by the second application 115 when the second application 115 is started by the process in S208.
[0090] Note that the second application 115 that executes the process of FIG. 7 is launched from the first application 114. Whenever the second application 115 is launched from the first application 114, the first application 114 has already acquired user consent to the software license agreement for the second application 115 in S203 of FIG. 2 . That is, when the second application 115 is launched in a coordinated manner, the second application 115 does not need to perform control for acquiring user consent to the software license agreement for the second application 115. Therefore, the second application 115 performs control not to acquire the software license agreement based on the coordinated launch. That is, in the case of coordinated launch, the second application 115 does not display the software license agreement on the display unit 113. As a result, after the user launches the first application 114 and agrees to the software license agreement, the user is not prompted to agree to the software license agreement again in the second application 115. When the second application 115 is started in cooperation with the first application 114, the second application 115 may obtain information indicating that the user has agreed to the software license agreement for the second application 115 from the first application 114.
[0091] Note that in the above description, a configuration has been described in which, when the second application 115 is launched in a coordinated manner, control for obtaining user consent to a software license agreement for the second application 115 is not performed in the second application 115. However, this configuration is not limited to this. Even when the second application 115 is launched in a coordinated manner, control for obtaining user consent to a software license agreement for the second application 115 may be performed in the second application 115. In this configuration, the control executed in S203 may be control for obtaining consent to a software license agreement for the first application 114 but not for obtaining consent to a software license agreement for the second application 115.
[0092] In S701, the second application 115 downloads print data for test printing. The print data is obtained from a server on the Internet, for example, via a connection between the information processing apparatus 101 and an access point.
[0093] In S702, processing related to location information services is executed. Details of this processing will be described later with reference to FIG. 8. In this embodiment, the processing of S702 is executed after the processing of S701, but this is not limiting. The processing of S702 may be executed before the processing of S701.
[0094] In S703, the second application 115 executes a process for searching for the printer 121. Specifically, in this process, the second application 115 executes a first search API to instruct the OS to execute a first search process. Note that when the first search API is executed, if the OS of the information processing device 101 is a predetermined version or higher and both the first setting and the third setting are enabled, the OS executes the first search process. Also, if the OS of the information processing device 101 is a version lower than the predetermined version, the OS executes the first search process regardless of the settings of the first setting and the third setting. However, there are cases where the OS of the information processing device 101 is a predetermined version or higher and at least one of the first setting and the third setting is disabled. In this case, even if the first search API is executed by the second application 115, the OS does not execute the first search process. When the OS has executed the first search process, the second application 115 acquires information indicating the result of the first search process from the OS. When the OS has not executed the first search process, the second application 115 does not acquire information indicating the result of the first search process from the OS. In addition, in this process, the second application 115 executes an OS standard API (hereinafter, the second search API) for instructing the OS to execute a process of searching for communication devices on the network to which the information processing device 101 belongs (hereinafter, the second search process). As a result, the second application 115 causes the OS to execute the second search process. Note that when the second search API is executed, the OS executes the second search process regardless of the version of the OS of the information processing device 101 or the settings of the first setting and the third setting. In other words, even if the OS of the information processing device 101 is a predetermined version or higher and at least one of the first setting and the third setting is disabled, the OS executes the second search process. When the OS has executed the second search process, the second application 115 acquires information indicating the result of the second search process from the OS. In other words, the second search process is a process for searching for communication devices that belong to the network to which the information processing device 101 belongs.The second search process is executed by broadcasting on the network to which the information processing device 101 belongs. In other words, a communication device belonging to the network to which the information processing device 101 belongs is a communication device connected to the access point to which the information processing device 101 is connected. The connection between the information processing device 101 and the access point can be established by a communication method based on the IEEE802.11 standard or a wired LAN. If there are multiple communication devices belonging to the network to which the information processing device 101 belongs, the multiple communication devices belonging to the network to which the information processing device 101 belongs are discovered by the second search process.
[0095] In S704, the second application 115 displays a list of communication devices discovered by the search process executed in S703. At this time, the second application 115 may identify communication devices supported by the second application 115 from among the communication devices discovered by the search process executed in S703, and display only the identified communication devices. In this embodiment, the communication devices supported by the second application 115 are specifically printers provided by the vendor that provides the second application 115. Furthermore, the communication devices supported by the second application 115 are specifically communication devices that operate in connection setting mode and have enabled access points with SSIDs dedicated to the connection setting mode. FIG. 14 shows an example of a list screen 1400 that is displayed in this process. An area 1401 displays a list of communication devices discovered by the search process executed in S703. Because the user selects one of the communication devices from the list displayed in the area 1401, the list screen 1400 can also be considered a selection screen. If the user operates the area 1402 after selecting any communication device from the list displayed in the area 1401, the second application 115 proceeds to S705.
[0096] In S705, the second application 115 displays an IF selection screen for selecting an interface (IF) to be used in the connection setup process. FIG. 15 shows an example of an IF selection screen 1500, which is a screen displayed in this process. An area 1503 is an area for displaying IF candidates to be used in the connection setup process. In this embodiment, the IF candidates to be used in the connection setup process are an IF for wireless LAN communication (Wi-Fi communication), an IF for wired LAN communication, and an IF for USB communication. Note that the IF selected here is an IF to be used for the connection between the communication device selected in S704 and the information processing device 101. Therefore, the IF selection screen can also be said to be a screen for selecting a method of connection between the communication device selected in S704 and the information processing device 101. After the user selects one of the options displayed in area 1501, if the user operates area 1502, the second application 115 proceeds to S706.
[0097] In S706, the second application 115 executes a connection setting process for the communication device selected in S704. Details of this process will be described later with reference to FIG.
[0098] In S707, the second application 115 downloads and installs a printer driver corresponding to the printer 121 selected in S704. The second application 115 downloads the printer driver from a server on the Internet, for example, via a connection between the information processing device 101 and an access point. Note that the processing executed in this process is not limited to this, and may be processing for displaying a screen showing an operation method for downloading the printer driver. In this process, a program other than the printer driver may also be downloaded. Specific examples of the program other than the printer driver include a printing application for sending a print job to the printer 121 and a scanning application for sending a scan job to the printer 121. Specific examples of the program other than the printer driver include an image layout application for arranging images on a template to create a layout image or an album.
[0099] In S708, the second application 115 executes processing for creating a print queue corresponding to the printer 121 selected in S704. In this processing, the second application 115 notifies the OS to create a print queue corresponding to the printer 121 selected in S704. By creating a print queue corresponding to the printer 121 selected in S704, the information processing device 101 becomes able to cause the printer 121 selected in S704 to execute printing. By establishing a connection between the information processing device 101 and the printer 121 selected in S704 and completing the creation of a print queue corresponding to the printer 121, the setup of the printer 121 is considered to be complete (successful).
[0100] The process executed in S708 may be a process for displaying a screen including a button for displaying a print queue creation screen, which is a screen for creating a print queue for the printer 121 and is displayed by the OS. When the button is displayed, the OS is notified to display the print queue creation screen, and a web manual showing how to create a print queue on the print queue creation screen is displayed by the web browser. The print queue creation screen displays a list of printers 121 discovered by a search executed by the OS. When the user selects one from the list, the OS creates a print queue corresponding to the selected printer 121.
[0101] In S709, the second application 115 transmits the print data acquired in S701 to the printer 121 selected in S704, thereby causing the printer 121 selected in S704 to perform test printing. Thereafter, the second application 115 ends the processing of this flowchart.
[0102] 8 is a flowchart showing processing related to the location information service. This flowchart is implemented by the CPU 102 reading a program stored in the ROM 106 into the RAM 107 and executing it. In this embodiment, the information processing device 101 executes processing using the second application 115. The processing of this flowchart corresponds to the processing of S702.
[0103] In S801, the second application 115 determines whether the OS of the information processing device 101 is a predetermined version or higher. This process is similar to S212 executed by the first application 114. If the second application 115 determines YES, the process proceeds to S802. If the second application 115 determines NO, the process of this flowchart ends and the process proceeds to S703. That is, if the second application 115 determines NO, the process proceeds to S703 without executing S802 to S807 described below, thereby controlling so that the process for setting the first setting to valid (the process of S803) is not executed even if the first setting is not set to valid. Furthermore, the second application 115 controls so that the process for setting the third setting to valid (the process of S803 and the process of S807) is not executed even if the third setting is not set to valid. That is, if the second application 115 determines NO, the second application 115 controls so that the process for setting the first setting to valid is not executed regardless of the setting content of the first setting. Moreover, the second application 115 controls the third setting so that the process for validating the third setting is not executed, regardless of the setting content of the third setting.
[0104] It is assumed that the OS of the information processing device 101 can be updated from an OS below a predetermined version to an OS equal to or higher than the predetermined version. In this case, the second application 115 on one information processing device 101 may output either YES or NO as the result of this determination. That is, the second application 115 on one information processing device 101 may determine NO when executed before the OS is updated, and may determine YES when executed after the OS is updated. However, in a configuration in which the OS of the information processing device 101 cannot be updated, the second application 115 on one information processing device 101 outputs only either YES or NO as the result of this determination. That is, the information processing device 101 on which the second application 115 is running when the result of this determination is YES is different from the information processing device 101 on which the second application 115 is running when the result of this determination is NO.
[0105] In S802, the second application 115 determines whether at least one of the first setting and the third setting is disabled. Specifically, in this process, the second application 115 executes an OS-standard API for acquiring information indicating whether the first setting is enabled from the OS and an OS-standard API for acquiring information indicating whether the third setting is enabled from the OS. The second application 115 thereby acquires the information from the OS. The determination is then made based on the information acquired in this manner. Specifically, a case in which at least one of the first setting and the third setting is disabled refers to a case in which the first setting is disabled or a case in which the first setting is enabled but the third setting is disabled. Specifically, a case in which at least one of the first setting and the third setting is not disabled refers to a case in which both the first setting and the third setting are enabled or a case in which the first setting is enabled but the third setting is in its initial state. If the second application 115 determines YES, the process proceeds to S803. If the second application 115 determines NO, the process proceeds to S804.
[0106] In S803, the second application 115 executes processing for enabling the first setting and the third setting. Specifically, the second application 115 displays a second guide screen for enabling the first setting and the third setting. An example of the second guide screen 1203 displayed in this processing is shown in FIG. 12(b). The second guide screen 1203 is displayed in a window displayed by the second application 115. The second guide screen 1203 includes a message for urging the user to enable the first setting and a message for urging the user to enable the third setting. The message for urging the user to enable the first setting is, in other words, a message recommending that the first setting be enabled. The message for urging the user to enable the third setting is, in other words, a message recommending that the third setting be enabled. The second guide screen 1203 may also include a message indicating that the first setting or the third setting needs to be enabled in order to use a function of the second application 115 (e.g., a function for executing a connection setting process). The second guide screen 1203 is a screen displayed by the second application 115 without using an OS-standard API. Therefore, the content of the message displayed on the second guide screen 1203 is not controlled by the OS, but is controlled by the second application 115. An area 1204 included in the second guide screen 1203 is a button for displaying the setting screen 600. When the area 1201 is pressed, the second application 115 notifies the OS-standard setting application to display the setting screen 600. Specifically, the second application 115 executes the OS-standard API for displaying the setting screen 600. As a result, the setting screen 600 is displayed by the OS-standard setting application in a window separate from the window displaying the second guide screen 1203. The user performs an operation to enable the first setting on the setting screen 600 displayed here. After performing the operation to enable the first setting on the setting screen 600, the user operates an area 1205 included in the second guide screen 1203. If the area 1205 is operated, the first application 114 proceeds to S804.
[0107] Note that there are cases where the first setting has already been enabled when S803 is executed. In such cases, the second guidance screen 1203 displayed in S803 only needs to include a message prompting the user to enable the third setting, and need not include a message prompting the user to enable the first setting. There are also cases where the third setting has already been enabled when S803 is executed. In such cases, the second guidance screen 1203 displayed in S803 only needs to include a message prompting the user to enable the first setting, and need not include a message prompting the user to enable the third setting.
[0108] In S804, the second application 115 determines whether both the first setting and the third setting are enabled. Specifically, in this process, the second application 115 executes an OS-standard API for acquiring, from the OS, information indicating whether the first setting is enabled and an OS-standard API for acquiring, from the OS, information indicating whether the third setting is enabled. In this way, the second application 115 acquires the information from the OS. Then, this determination is made based on the information acquired in this manner. If the second application 115 determines YES, it ends the process of this flowchart and proceeds to S703; if the second application 115 determines NO, it proceeds to S805.
[0109] In S805, the second application 115 determines whether the first setting is enabled. Specifically, in this process, the second application 115 acquires information indicating whether the first setting is enabled from the OS by executing an OS standard API for acquiring the information from the OS. The second application 115 then performs this determination based on whether the acquired information indicates that the first setting is enabled. If the second application 115 determines YES, the process proceeds to S806, and if the second application 115 determines NO, the process proceeds to S807.
[0110] In S806, the second application 115 determines whether the third setting is disabled. Specifically, in this process, the second application 115 acquires information indicating the state of the third setting from the OS by executing an OS-standard API for acquiring the information from the OS. The second application 115 then performs this determination based on whether the acquired information indicates that the third setting is enabled. If the second application 115 determines YES, the process proceeds to S807. If the second application 115 determines NO, the process proceeds to S808. Note that if the information acquired in S805 indicates the initial state, the process is determined NO. The reason why the processes of S804 and S805 are executed even though the second guide screen 1203 is displayed in S803 is that the first setting or the third setting may not be enabled by the user even though the second guide screen 1203 is displayed.
[0111] In S807, the second application 115 displays a second notification screen for prompting the user to enable the first setting and the third setting. FIG. 19 shows an example of a second notification screen 1900 displayed in this process. The second notification screen 1900 includes a button 1901 and a button 1902. The second notification screen also includes a message for prompting the user to enable the first setting and a message for prompting the user to enable the third setting. The message for prompting the user to enable the first setting is, in other words, a message recommending that the first setting be enabled. The message for prompting the user to enable the third setting is, in other words, a message recommending that the third setting be enabled. The second notification screen 1900 may also include a message indicating that the first setting and the third setting must be enabled in order to use the functions of the second application 115. The second notification screen 1900 is a screen displayed by the second application 115 without using a standard OS API. Therefore, the message displayed on second notification screen 1900 is not a message whose content is controlled by the OS, but a message whose content is controlled by second application 115. Button 1901 is a button for selecting not to change the first setting or the third setting, and button 1902 is a button for selecting not to change the first setting or the third setting. When either button is pressed on second notification screen 1900, second application 115 proceeds to the next step.
[0112] In S808, the second application 115 determines whether or not the button 1902 is pressed on the second notification screen 1900. If the second application 115 determines YES, it returns to S803 and displays the second guide screen 1203 again, and if the second application 115 determines NO, it ends the processing of this flowchart and proceeds to S703.
[0113] In S809, the second application 115 executes processing for enabling the third setting. Specifically, the second application 115 executes processing for displaying a dialog for enabling the third setting. More specifically, the second application 115 executes an OS-standard API, which is an API for displaying a dialog for enabling the third setting and which requests the OS to use a location information service. When the API is executed, the OS displays the dialog in a window displayed by the second application 115. FIG. 17(b) shows an example of a dialog 1703 displayed in this processing. The dialog 1703 includes a button 1704 for enabling the third setting and a button 1705 for not enabling (disabling) the third setting. The dialog 1703 also includes a message indicating that the second application 115 is attempting to use a location information service. The content of this message is controlled by the OS and cannot be controlled by the second application 115. However, the dialog 1703 can also display a message that can be controlled by the second application 115. Specifically, when an OS-standard API for displaying the dialog 1703 is executed, the second application 115 can notify the OS of an arbitrary message as an argument, and the message can be displayed in the dialog 1703. If the second application 115 does not notify the OS of a message as an argument, no message controlled by the second application 115 is displayed in the dialog 1703. The message controlled by the second application 115 may, for example, be a message indicating that use of a location information service must be permitted in order to execute a connection setting process for the printer 121. In other words, this message indicates that a third setting must be enabled in order to execute a connection setting process for the printer 121. The message controlled by the second application 115 may, for example, be a message indicating that if use of a location information service is not permitted, the connection setting process for the printer 121 will not be executed. In other words, this message indicates that if enablement of the first setting is not permitted, the connection setting process for the printer 121 will not be executed.When the button 1704 is operated by the user, the OS enables the third setting. That is, the OS sets the state in which the third setting is set to enabled. Furthermore, the OS notifies the second application 115 that the button 1704 has been operated by the user. On the other hand, when the button 1705 is operated by the user, the OS disables the third setting. That is, the OS sets the state in which the third setting is set to disabled. Furthermore, the OS notifies the second application 115 that the button 1705 has been operated by the user. When the button 1704 or the button 1705 is operated, the dialog is hidden. When the button 1704 or the button 1705 is operated, the second application 115 ends the processing of this flowchart and proceeds to S703.
[0114] In the above description, in S807, the second application 115 executes a process of executing an OS-standard API for displaying the dialog 1703, but the present invention is not limited to this. Even if the third setting is in the initial state, the area 604 may be displayed in the area 602. Therefore, in S807, for example, a process of executing an OS-standard API for displaying the setting screen 600 (a process similar to the process executed when the area 1204 is pressed) may be executed. In addition, in S807, for example, a process of displaying the second guide screen 1203 (a process similar to that of S803) may be executed.
[0115] 9 is a flowchart showing the connection setting process. This flowchart is realized by the CPU 102 reading a program stored in the ROM 106 into the RAM 107 and executing it. In this embodiment, the information processing device 101 executes the process using the second application 115. The process of this flowchart corresponds to the process of S706.
[0116] In S901, the second application 115 determines whether the IF selected in S705 is an IF for wired LAN communication or an IF for USB communication. If the second application 115 determines YES, it proceeds to S902, and if the second application 115 determines NO, it proceeds to S903. Note that if the IF selected in S705 is an IF for wireless LAN communication, it is determined NO.
[0117] In S902, the second application 115, which is connected to the information processing device 101 by the IF selected in S705, identifies the printer 121 selected in S704 and establishes a session between the identified printer 121 and the information processing device 101. This puts the information processing device 101 in a state where it can communicate with the identified printer 121. Thereafter, the second application 115 ends the processing of this flowchart and proceeds to S707.
[0118] In S903, the second application 115 determines whether the printer 121 selected in S704 is the printer 121 discovered by the first search process. The printer 121 discovered by the first search process is the printer 121 operating in the connection setting mode. If the second application 115 determines YES, the process proceeds to S904, and if the second application 115 determines NO, the process proceeds to S902.
[0119] In S904, the second application 115 determines whether the OS of the information processing device 101 is a predetermined version or higher. This process is the same as the process of S501. If the second application 115 determines YES, the process proceeds to S905, and if the second application 115 determines NO, the process proceeds to S907. That is, if the second application 115 determines NO, the process proceeds to S907 without executing S905, S906, and S908 (described later), thereby controlling so that the second connection setting process is not executed even if both the first setting and the third setting are not set to valid. That is, if the second application 115 determines NO, the second application 115 controls so that the second connection setting process is not executed, regardless of the setting contents of the first setting and the third setting.
[0120] In S905, the second application 115 determines whether the first setting is enabled. This process is the same as the process of S805. If the second application 115 determines YES, the process proceeds to S906, and if the second application 115 determines NO, the process proceeds to S908.
[0121] In S906, the second application 115 determines whether the third setting is enabled. This process is the same as the process of S806. If the second application 115 determines YES, the process proceeds to S907, and if the second application 115 determines NO, the process proceeds to S908.
[0122] In S907, the second application 115 executes a first connection setting process. Details of this process will be described later with reference to Fig. 10. After that, the second application 115 ends the process of this flowchart and proceeds to S707.
[0123] In S908, the second application 115 executes a second connection setting process. Details of this process will be described later with reference to Fig. 11. After that, the second application 115 ends the process of this flowchart and proceeds to S707.
[0124] In the above description, in both the flowchart of FIG. 8 and the flowchart of FIG. 9, a determination is made as to whether the OS of the information processing device 101 is a predetermined version or higher. Also, in both the flowchart of FIG. 8 and the flowchart of FIG. 9, a determination is made as to whether the first setting is enabled and whether the third setting is enabled. However, this is not limiting. For example, the above-described determination may be performed only in the flowchart of FIG. 8 and not in the flowchart of FIG. 9. In this embodiment, the processing of FIG. 9 is performed assuming that the user has enabled both the first setting and the third setting through the processing of the flowchart of FIG. 8. Therefore, if the result of the determination in S903 is YES, the second application 115 skips the processing of S904 to S906 and proceeds to S907. Also, for example, the above-described determination may be performed only in the flowchart of FIG. 9 and not in the flowchart of FIG. 8. In this embodiment, after S701, the second application 115 skips S702 and proceeds to S703. In this embodiment, the same process as that in S803 in the flowchart of FIG. 9 is executed as in the embodiment described above.
[0125] In the above description, the process of S803 is executed based on whether at least one of the first setting and the third setting is disabled. However, the present invention is not limited to this. The process of S803 may be executed regardless of the setting status of the first setting or the third setting. Specifically, for example, if S801 is NO, the second application 115 may skip S802 and proceed to S803.
[0126] The first connection setting process will be described in detail below. Fig. 10 is a flowchart showing the first connection setting process. This flowchart is implemented by the CPU 102 reading a program stored in the ROM 106 into the RAM 107 and executing it. In this embodiment, the information processing device 101 executes the process using the second application 115. The process of this flowchart corresponds to the process of S907.
[0127] In S1001, the second application 115 searches for the printer 121 selected in S704, which is a printer 121 operating in connection setting mode. Specifically, in this process, the second application 115 executes a first search API to instruct the OS to execute a first search process. The first connection setting process is executed when the execution conditions for the first search process are met. Therefore, in this process, the OS does not execute the first search process even though the first search API has been executed. When the OS executes the first search process, the second application 115 acquires information indicating the result of the first search process from the OS. The information indicating the result of the first search process is information indicating the access points discovered by the first search process. Therefore, the second application 115 identifies, from among the access points discovered by the first search process, an access point that is a printer 121 operating in connection setting mode and that is enabled by the printer 121 selected in S704. If the access point is identified, it means that the printer 121 is operating in the connection setting mode and that the printer 121 selected in S704 has been discovered in this process. If the access point is not identified, it means that the printer 121 is operating in the connection setting mode and that the printer 121 selected in S704 has not been discovered in this process.
[0128] In S1002, the second application 115 determines whether the printer 121 selected in S704 was found by the search in S1001. If the second application 115 determines YES, it proceeds to S1003, and if the second application 115 determines NO, it returns to S1001.
[0129] In S1003, the second application 115 stores information (SSID and password) related to the access point to which the information processing device 101 is currently connected in memory. After that, the second application 115 disconnects the connection between the information processing device 101 and the access point. Note that if the information processing device 101 is not connected to an access point, this process is skipped.
[0130] In S1004, the second application 115 establishes a connection between the information processing device 101 and the access point enabled by the printer 121 discovered by the search in S1001 (i.e., the printer 121 selected in S704). That is, the second application 115 establishes a connection between the printer 121 selected in S704 and the information processing device 101. Note that in this embodiment, no password is required to connect to the access point enabled by the printer 121 operating in the connection setting mode. Hereinafter, it is assumed that communication between the information processing device 101 and the printer 121 is performed via the connection established here.
[0131] In S1005, the second application 115 acquires, from the printer 121 selected in S704, a list of access points discovered by the first search process executed by the printer 121.
[0132] In S1006, the second application 115 determines whether or not the list acquired in S1005 includes an access point corresponding to the information saved in S1003. If the second application 115 determines YES, it proceeds to S1007, and if the second application 115 determines NO, it proceeds to S1006. Note that if there is no information saved in S1003, it is determined NO in this process.
[0133] In S1007, the second application 115 transmits setting information including the information saved in S1003 to the printer 121 selected in S704. The information saved in S1003 is information for connecting to the access point to which the information processing device 101 was connected at the time of S1003. When the information saved in S1003 is sent to the printer 121, the printer 121 uses the information to connect to the access point corresponding to the information. The second application 115 then proceeds to S1009.
[0134] In S1008, the second application 115 executes a second connection setting process, which will be described in detail later.
[0135] In S1009, the second application 115 uses the information stored in S1003 to re-establish a connection between the information processing device 101 and the access point corresponding to the information.
[0136] In S1010, the second application 115 searches for the printer 121 on the network to which the information processing device 101 belongs, the network formed by the access point to which the information processing device 101 is connected. The printer 121 to be searched here is specifically the printer 121 to which information was sent in S1007, that is, the printer 121 selected in S704. That is, the second application 115 executes the second search API to cause the OS to execute the second search process. The second application 115 then receives the results of the second search process from the OS and identifies the printer 121 selected in S704 from among the devices indicated by the results and discovered by the second search process. If the printer 121 is discovered in this way, the process of this flowchart ends and the process proceeds to S707. Note that a search separate from the second search process may be executed in this process. Specifically, for example, the second application 115 may acquire in advance the IP address of the printer 121 selected in S704, and execute a unicast search process using the IP address in S1010.
[0137] If there is no information saved in S1003, S1009 and S1010 are skipped and the process proceeds to S707.
[0138] The second connection setting process will be described in detail below. Fig. 11 is a flowchart showing the second connection setting process. This flowchart is implemented by the CPU 102 reading a program stored in the ROM 106 into the RAM 107 and executing it. In this embodiment, the information processing device 101 executes the process using the second application 115. The process of this flowchart corresponds to the process of S908.
[0139] In step S1101, the second application 115 displays, via a web browser, a guide screen (not shown) that indicates a predetermined operation method for establishing a connection between the printer 121 and an access point, without transmitting setting information from the information processing device 101 to the printer 121. Specifically, the second application 115 instructs the web browser to display a screen using a URL for displaying the guide screen, which is a URL previously stored in the second application 115, thereby causing the web browser to display the guide screen. The guide screen is displayed in a window different from the window displayed by the second application 115 and is displayed in a window displayed by the web browser. The predetermined operation is an operation performed by the user on the printer 121. The predetermined operation includes an operation for causing the printer 121 to execute a first search process, an operation for selecting one of the access points discovered by the first search process, an operation for entering the password of the selected access point, and the like. However, the predetermined operation is not limited to this form and may include, for example, an operation for causing the printer 121 to execute a connection process based on WPS or AOSS. WPS stands for Wi-Fi Protected Setup. Furthermore, AOSS stands for AirStation One-Touch Secure System. In this process, the second application 115 further displays a third guidance screen (not shown) in a window displayed by the second application 115 to prompt the user to perform a predetermined operation according to the guide displayed on the guidance screen. The third guidance screen is a screen displayed by the second application 115 without the second application 115 executing an OS standard API. The third guidance screen displayed here includes a link button and a next button. The link button is a link button for displaying the guide screen again by a web browser if the above-mentioned guide screen is closed. After performing a predetermined operation according to the guide displayed on the guide screen, the user presses the next button. When the next button is pressed, the second application 115 proceeds to S1102.
[0140] As described above, in S1101, the display of the guide screen by the web browser is automatically executed when the process advances to S1101, but this is not limiting. That is, the display of the guide screen by the web browser does not have to be automatically executed when the process advances to S1101. The display of the guide screen by the web browser may be executed only when the link button on the third guide screen is operated.
[0141] In the above description, the guide screen is displayed in a web browser, but this is not limiting. The guide screen may be displayed not in a screen displayed by a web browser but in a third guide screen displayed by second application 115. Alternatively, the guide screen may be displayed in a screen displayed by second application 115 that is separate from the third guide screen.
[0142] In S1102, the second application 115 searches for the printer 121 selected in S704 on the network to which the information processing device 101 belongs and on the network formed by the access point to which the information processing device 101 is connected. That is, the second application 115 executes the second search API to cause the OS to execute the second search process. The second application 115 then receives the results of the second search process from the OS and identifies the printer 121 selected in S704 from among the devices indicated by the results and discovered by the second search process. If the printer 121 is discovered in this manner, the process ends and proceeds to S707. Note that a search separate from the second search process may also be performed in this process. Specifically, for example, the second application 115 may acquire in advance the IP address of the printer 121 selected in S704 and execute a unicast search process using the IP address in S1010. The second application 115 then ends the process of this flowchart and proceeds to S707.
[0143] Fig. 13 shows an example of a flowchart illustrating the termination process of second application 115. The process of Fig. 13 is realized, for example, by CPU 102 loading a control program stored in a memory such as ROM 106 into RAM 107 and executing it. This process is executed after the process of Fig. 7 ends.
[0144] S1300 indicates the start of the processing in FIG.
[0145] In S1301, the second application 115 determines whether the first application 114 is running. If the second application 115 determines that the first application 114 is not running, the process proceeds to S1302. On the other hand, if the second application 115 determines that the first application 114 is running, the process proceeds to S1303. The second application 115 may determine whether the first application 114 is running by issuing an instruction to the OS using, for example, an Application Programming Interface (API).
[0146] In S1302, the second application 115 executes processing for starting up the first application 114. In this processing, the second application 115 specifically executes an API for starting up the first application 114, thereby executing a startup processing for notifying the OS of a startup instruction for starting up the first application 114. Thereafter, the CPU 102 advances the processing to S1303.
[0147] In S1303, the second application 115 transmits a setup result to the first application 114. Specifically, as a result of the setup process of the printer 121 in S701 to S708 of FIG. 7, the second application 115 transmits a plurality of pieces of information to the first application 114, including information on the success or failure of the setup process and identification information of the printer 121 that was the target of the setup. Note that if the setup of the printer 121 has failed, the identification information of the printer 121 does not need to be transmitted. The information on the success or failure of the setup process is information indicating whether the second application 115 has successfully set up the printer 121. A case in which the setup of the printer 121 has succeeded is a case in which a connection between the information processing device 101 and the printer 121 has been established by the connection process in S706. A case in which the setup of the printer 121 has failed is, for example, a case in which the interface selected in S705 is a wireless LAN and connection information has been transmitted to the printer 121, but the printer 121 selected in S704 has not been found. Another example is a case where the interface selected in S705 is a wired LAN or USB and the various guidance screens described above are displayed, but the printer 121 selected in S704 is not found. Examples of setup process success / failure information included in the setup result include character string information such as "SETUP_SUCCESS" if each process in S701 to S708 shown in FIG. 7 is successful, and "SETUP_FAIL" if not. Examples of printer 121 identification information included in the setup result include identification information that can be acquired when the printer 121 is detected during the printer search process in S703 or the connection process with the printer 121 in S706. Examples of identification information include the model name, MAC address, and serial number of the printer 121. When multiple printers 121 with the same model name are detected, a single piece of identification information may not be enough to identify the single printer 121 that has been set up. For this reason, the second application 115 may transmit a setup result including multiple pieces of identification information to the first application 114.
[0148] An example of a method in which the second application 115 transmits the setup result to the first application 114 in S1303 is shown below. For example, the setup result may be stored as the above-described character string information in a file that is provided in ROM 106 and that can be referenced by the first application 114, and the first application 114 may reference that file. Alternatively, the setup result may be added as a command line argument to a startup instruction when the second application 115 starts the first application 114. Alternatively, the setup result may be transmitted via inter-process communication with the first application 114 that is currently running.
[0149] In S1303, when the setup result is notified to the first application 114, the first application 114 executes the processes from S210 onwards. Note that in this embodiment, when the setup result is notified, the first application 114 is activated, and therefore the setup result can also be said to be a notification for activating the first application 114.
[0150] In S1304, the second application 115 executes a process to terminate its own operation. Specifically, the second application 115 closes all windows and screens displayed by the second application 115 and terminates its own process.
[0151] S1305 indicates the end of the processing in FIG.
[0152] In the above description, the second application 115 determines whether the first application 114 is running, and if it is determined that the first application 114 is not running, executes the process for starting the first application 114. However, the present invention is not limited to this. The second application 115 may execute the process for starting the first application 114 regardless of whether the first application 114 is running. When the process for starting the first application 114 is executed, a notification is sent from the OS to the first application 114. When the process for starting the first application 114 is executed while the first application 114 is running, the first application 114 is activated while maintaining its running state. Therefore, the process for starting the first application 114 can also be considered as a process for activating the first application 114. The process of S209 executed by the first application 114 may be a process for determining whether the second application 115 has executed the process for starting the first application 114.
[0153] By adopting such a configuration, the first application 114 can execute the automatic search function at an appropriate timing and automatically change the automatic search settings at an appropriate timing. Also, the second application 115 can automatically change the automatic search settings at an appropriate timing.
[0154] <Other embodiments> In the above description, the first search process is described as being executed in a process for performing a connection setup process and for searching for a printer 121 operating in connection setup mode. However, the present invention is not limited to this. The first search process is a process for searching for a device that operates as an access point according to the IEEE 802.11 series of communication standards. Therefore, the first search process can be executed in various processes other than the process for performing the connection setup process as long as it is a process for connecting to an access point. Therefore, as described above, the determination of whether the OS of the information processing device 101 is a predetermined version or higher may be executed in various processes other than the process for performing the connection setup process. Similarly, the determination of whether the first setting is enabled and the determination of whether the third setting is enabled may be executed in various processes other than the process for performing the connection setup process. Examples of processes other than the process for performing the connection setup process include processes for establishing a connection between an access point discovered by the search and a terminal device, and transmitting various information other than the setting information to the access point and receiving various information from the access point. Examples of information other than the setting information include image data, print data, and audio data.
[0155] In the above description, the information processing device 101 runs on MacOS, but the OS is not limited to this. The information processing device 101 may run on other OSs such as Android OS (registered trademark) or iOS (registered trademark).
[0156] In the above description, the first search process is a search process executed in accordance with the IEEE 802.11 series of communication standards, but is not limited to this. For example, the first search process may be a search process executed by Bluetooth.
[0157] 16, when the automatic search setting is enabled by operating the check box 1601, a determination similar to that of S222 may be made. If the determination result is YES, a determination similar to that of S227 may be made. If the determination result is NO, a display process similar to that of S228 may be made. If the determination result is YES, a determination similar to that of S229 may be made. If the determination result is NO, a determination similar to that of S230 may be made. If the determination result is YES, a display process similar to that of S231 may be made, and if the determination result is NO, a process similar to that of S232 may be made. In other words, even when the automatic search setting is enabled by operating the check box 1601, a process for enabling the first setting or a process for enabling the second setting may be made based on the current setting contents of the first setting or the second setting.
[0158] The object of the present invention can also be achieved by providing a system or device with a recording medium on which program code for software that realizes the functions of the above-described embodiments is recorded. That is, the object of the present invention can also be achieved by having a computer (or CPU or MPU) of the system or device read and execute the program code stored on the recording medium. In this case, the program code read from the recording medium itself realizes the functions of the above-described embodiments, and the recording medium on which the program code is stored constitutes the present invention.
[0159] Examples of storage media that can be used to supply the program code include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and DVDs.
[0160] It goes without saying that this also includes cases where the OS running on the computer performs some or all of the actual processing based on the instructions of the program code read by the computer, and the functions of the above-mentioned embodiments are realized through this processing.
[0161] The disclosure of this embodiment also includes the following configuration.
[0162] (Item 1) a first application program, The computer of the information processing device a first launch step of executing a launch process for launching a second application program capable of executing a process for a first search process, which is a process for searching for one or more communication devices, and is executed based on the fact that a predetermined setting for using a location information service of the information processing device is valid in the information processing device; a disabling step of disabling a specific setting for executing a predetermined function, which is a function of the first application program and includes a processing for the first search processing, when a processing for activating the first application program is performed by the second application program after the second application program has been started based on the execution of the start-up processing and the predetermined processing including a processing for the first search processing is executed but the predetermined setting is not valid in the information processing device; a first execution step of executing the predetermined function when the specific setting is valid, based on the start of the first application program, and not executing the predetermined function when the specific setting is invalid, even if the first application program is started; A program characterized by executing the following.
[0163] (Item 2) The computer of the information processing device a second execution step of executing the predetermined function based on the fact that the second application program has executed the predetermined process, and when the second application program executes a process for activating the first application program and the predetermined setting is valid in the information processing device after the second application program has executed the predetermined process, based on the fact that the second application program has executed the process for activating the first application program; 2. The program according to item 1, further comprising:
[0164] (Item 3) the predetermined setting is a first setting for permitting an application program included in the information processing device to use the location information service; a second setting different from the first setting is a setting for selecting the first application program as an application program permitted to use the location information service; after the predetermined process is executed by the second application program that has been started based on the execution of the start-up process, a process for activating the first application program is executed by the second application program, and if the first setting and the second setting are valid in the information processing device, the predetermined function is executed based on the process for activating the first application program being executed by the second application program. 3. The program according to item 2,
[0165] (Item 4) the predetermined setting is a first setting for permitting an application program included in the information processing device to use the location information service; a second setting different from the first setting is a setting for selecting the first application program as an application program permitted to use the location information service; The computer of the information processing device a third execution step of executing a process for activating the first application program by the second application program after the predetermined process is executed by the second application program that has been started based on the execution of the start-up process, and when the first setting is valid in the information processing device but the second setting is not valid in the information processing device, executing a process for validating the second setting; Further execute 4. The program according to any one of items 1 to 3.
[0166] (Item 5) The computer of the information processing device a second startup step of executing the startup process when one or more communication devices are found by executing the predetermined function; 5. The program according to any one of items 1 to 4, further comprising:
[0167] (Item 6) the start-up process is executed when the first application program is started up for the first time on the information processing device; When the first application program is started for the second or subsequent time on the information processing device, the start-up process is not executed based on the fact that the first application program is started on the information processing device. 6. The program according to any one of items 1 to 5,
[0168] (Item 7) when the first application program is started for the second or subsequent time on the information processing device and the predetermined setting is valid, the predetermined function is executed based on the start of the first application program; If the first application program is started for the second or subsequent time on the information processing device and the predetermined setting is invalid, the predetermined function is not executed even if the first application program is started. 7. The program according to any one of items 1 to 6,
[0169] (Item 8) if the first application program is started for the second or subsequent time on the information processing device and the predetermined setting is invalid, a process for validating the predetermined setting is executed; When the start-up of the first application program is the first start-up of the information processing device, and the second application program that is started based on the execution of the start-up process executes the predetermined process, the second application program executes a process for activating the first application program, and the predetermined setting is invalid, the process for validating the predetermined setting is not executed, and a process for invalidating the specific setting is executed. 8. The program according to any one of items 1 to 7,
[0170] (Item 9) the predetermined setting is a first setting for permitting an application program included in the information processing device to use the location information service; a second setting different from the first setting is a setting for selecting the first application program as an application program permitted to use the location information service; when the first application program is started for the second or subsequent time in the information processing device and the first setting and the second setting are valid, the predetermined function is executed based on the start of the first application program; when the launch of the first application program is the first launch in the information processing device, and the second application program, which is launched based on the execution of the launch process, executes the predetermined process, and then the second application program executes a process to activate the first application program, and when the first setting and the second setting are valid, the predetermined function is executed based on the process to activate the first application program being executed by the second application program; 9. The program according to item 8,
[0171] (Item 10) when the first application program is started for the second or subsequent time in the information processing device and the first setting is valid but the second setting is invalid, a process for validating the second setting is executed; the launch of the first application program is the first launch of the first application program in the information processing device, and after the second application program, which is launched based on the execution of the launch process, executes the predetermined process, a process for activating the first application program is performed by the second application program, and if the first setting is valid but the second setting is invalid, a process for enabling the second setting is executed; 10. The program according to item 9,
[0172] (Item 11) the launching process includes a process of displaying an area for receiving an operation from a user to launch the second application program and an area for receiving an operation from a user not to launch the second application program, When an operation to start the second application program is accepted, the second application program is started, and when an operation not to start the second application program is accepted, the second application program is not started. 11. The program according to any one of items 1 to 10.
[0173] (Item 12) The computer of the information processing device a registration step of executing a registration process to register the communication device discovered by the second application program as a result of the second application program executing the process for the first search process, in the first application program, when the second application program executes a process for activating the first application program after the predetermined process has been executed; 12. The program according to any one of items 1 to 11, further comprising:
[0174] (Item 13) The computer of the information processing device a fourth execution step of executing the predetermined function when a predetermined operation is performed on a screen displayed in the first application program after the first application program is started, even if the specific setting is invalid; 13. The program according to any one of items 1 to 12, further comprising:
[0175] (Item 14) The computer of the information processing device a display step of displaying a setting screen that accepts an operation for enabling or disabling the specific setting when a predetermined operation is performed on a screen displayed in the first application program after the first application program is started; Then run When an operation for enabling the specific setting is accepted on the setting screen, the specific setting is enabled, and when an operation for disabling the specific setting is accepted on the setting screen, the specific setting is disabled; After the predetermined process is executed by the second application program that is started based on the execution of the start-up process, a process for activating the first application program is performed by the second application program, and if the predetermined setting is not valid in the information processing device, an operation for disabling the specific setting on the setting screen is not accepted, and the specific setting is disabled. 14. The program according to any one of items 1 to 13,
[0176] (Item 15) The computer of the information processing device a sending step of sending a print job for executing printing or a scan job for executing scanning to the communication device found by the processing for the first search processing; 15. The program according to any one of items 1 to 14, further comprising:
[0177] (Item 16) The operating system (OS) of the information processing device is an OS of a predetermined version or higher, A computer of another information processing device that is different from the information processing device and has an OS version lower than the predetermined version, a fifth execution step of executing the predetermined function when a process for activating the first application program is performed by the second application program after the predetermined process is performed by the second application program that is started based on the execution of the start-up process, regardless of whether a setting for using a location information service of the other information processing device is valid in the other information processing device; 16. The program according to any one of items 1 to 15, further comprising:
[0178] (Item 17) The operating system (OS) of the information processing device is an OS of a predetermined version or higher, In the information processing device having an OS of a version equal to or higher than the predetermined version, the first search process is a process that is not executed unless the predetermined setting is valid in the information processing device. 17. The program according to any one of items 1 to 16,
[0179] (Item 18) the first search process is a process of searching for the communication device operating as an access point according to the IEEE 802.11 series of communication standards; 18. The program according to any one of items 1 to 17,
[0180] (Item 19) the process for activating the first application program is a process for launching the first application program; 19. The program according to any one of items 1 to 18,
[0181] (Item 20) The process for activating the first application program is a process for notifying the first application program of predetermined information. 20. The program according to any one of items 1 to 19,
[0182] (Item 21) When a process for activating the first application program is performed by the second application program, the first application program is activated and runs in the foreground. 21. The program according to any one of items 1 to 20,
[0183] (Item 22) A method for controlling an information processing device having a first application program, comprising: a first launch step of executing a launch process for launching a second application program capable of executing a process for a first search process, which is a process for searching for one or more communication devices, and is executed based on the fact that a predetermined setting for using a location information service of the information processing device is valid in the information processing device; a disabling step of disabling a specific setting for executing a predetermined function, which is a function of the first application program and includes a processing for the first search processing, when a processing for activating the first application program is performed by the second application program after the second application program has been started based on the execution of the start-up processing and the predetermined processing including a processing for the first search processing is executed but the predetermined setting is not valid in the information processing device; a first execution step of executing the predetermined function when the specific setting is valid, based on the start of the first application program, and not executing the predetermined function when the specific setting is invalid, even if the first application program is started; A control method comprising:
[0184] (Item 23) An information processing device having a first application program, a first launching means for executing a launching process for launching a second application program capable of executing a process for a first search process, which is a process for searching for one or more communication devices, and is executed based on the fact that a predetermined setting for using a location information service of the information processing device is valid in the information processing device; a disabling means for disabling a specific setting for executing a predetermined function, which is a function of the first application program and includes the processing for the first search processing, when a process for activating the first application program is performed by the second application program after the second application program has been started based on the execution of the start-up process and the predetermined processing including the processing for the first search processing is executed but the predetermined setting is not valid in the information processing device; a first execution means for executing the predetermined function when the specific setting is valid and when the first application program is started, and for not executing the predetermined function when the specific setting is invalid and when the first application program is started; An information processing device comprising: [Explanation of symbols]
[0185] 101 Information processing equipment 121 Printer
Claims
1. a first application program, The computer of the information processing device a first launch step of executing a launch process for launching a second application program capable of executing a process for a first search process, which is a process for searching for one or more communication devices, and is executed based on the fact that a predetermined setting for using a location information service of the information processing device is valid in the information processing device; a disabling step of disabling a specific setting for executing a predetermined function, which is a function of the first application program and includes a processing for the first search processing, when a processing for activating the first application program is performed by the second application program after the second application program has been started based on the execution of the start-up processing and the predetermined processing including a processing for the first search processing is executed but the predetermined setting is not valid in the information processing device; a first execution step of executing the predetermined function when the specific setting is valid, based on the start of the first application program, and not executing the predetermined function when the specific setting is invalid, even if the first application program is started; A program characterized by executing the following.
2. The computer of the information processing device a second execution step of executing the predetermined function based on the fact that the second application program has executed the predetermined process, and then the second application program executes a process for activating the first application program, and the predetermined setting is valid in the information processing device; and 2. The program according to claim 1, further comprising:
3. the predetermined setting is a first setting for permitting an application program included in the information processing device to use the location information service; a second setting different from the first setting is a setting for selecting the first application program as an application program permitted to use the location information service; after the predetermined process is executed by the second application program that has been started based on the execution of the start-up process, a process for activating the first application program is executed by the second application program, and if the first setting and the second setting are valid in the information processing device, the predetermined function is executed based on the process for activating the first application program being executed by the second application program.
3. The program according to claim 2.
4. the predetermined setting is a first setting for permitting an application program included in the information processing device to use the location information service; a second setting different from the first setting is a setting for selecting the first application program as an application program permitted to use the location information service; The computer of the information processing device a third execution step of executing a process for activating the first application program by the second application program after the predetermined process is executed by the second application program that has been started based on the execution of the start-up process, and when the first setting is valid in the information processing device but the second setting is not valid in the information processing device, executing a process for validating the second setting; Further execute 2. The program according to claim 1 .
5. The computer of the information processing device a second startup step of executing the startup process when one or more communication devices are found by executing the predetermined function; 2. The program according to claim 1, further comprising:
6. the start-up process is executed when the first application program is started up for the first time on the information processing device; When the first application program is started for the second or subsequent time on the information processing device, the start-up process is not executed based on the fact that the first application program is started on the information processing device.
2. The program according to claim 1 .
7. when the first application program is started for the second or subsequent time on the information processing device and the predetermined setting is valid, the predetermined function is executed based on the start of the first application program; If the first application program is started for the second or subsequent time on the information processing device and the predetermined setting is invalid, the predetermined function is not executed even if the first application program is started.
2. The program according to claim 1 .
8. if the first application program is started for the second or subsequent time on the information processing device and the predetermined setting is invalid, a process for validating the predetermined setting is executed; When the first application program is started for the first time in the information processing device, and the second application program is started based on the execution of the start-up process and executes the predetermined process, the second application program executes a process to activate the first application program, and the predetermined setting is invalid, the process to enable the predetermined setting is not executed, and a process to disable the specific setting is executed.
2. The program according to claim 1 .
9. the predetermined setting is a first setting for permitting an application program included in the information processing device to use the location information service; a second setting different from the first setting is a setting for selecting the first application program as an application program permitted to use the location information service; when the first application program is started for the second or subsequent time in the information processing device and the first setting and the second setting are valid, the predetermined function is executed based on the start of the first application program; when the start-up of the first application program is the first start-up in the information processing device, and the second application program that has been started based on the execution of the start-up process executes the predetermined process, the second application program executes a process to activate the first application program, and the first setting and the second setting are valid, the predetermined function is executed based on the process to activate the first application program being executed by the second application program; 9. The program according to claim 8.
10. when the first application program is started for the second or subsequent time in the information processing device and the first setting is valid but the second setting is invalid, a process for validating the second setting is executed; the launch of the first application program is the first launch of the first application program in the information processing device, and after the second application program, which is launched based on the execution of the launch process, executes the predetermined process, a process for activating the first application program is performed by the second application program, and if the first setting is valid but the second setting is invalid, a process for enabling the second setting is executed; 10. The program according to claim 9.
11. the launching process includes a process of displaying an area for receiving an operation from a user to launch the second application program and an area for receiving an operation from a user not to launch the second application program, When an operation to start the second application program is accepted, the second application program is started, and when an operation not to start the second application program is accepted, the second application program is not started.
2. The program according to claim 1 .
12. The computer of the information processing device a registration step of executing a registration process to register the communication device discovered by the second application program as a result of the second application program executing the process for the first search process, in the first application program, when the second application program executes a process for activating the first application program after the predetermined process has been executed; 2. The program according to claim 1, further comprising:
13. The computer of the information processing device a fourth execution step of executing the predetermined function when a predetermined operation is performed on a screen displayed in the first application program after the first application program is started, even if the specific setting is invalid; 2. The program according to claim 1, further comprising:
14. The computer of the information processing device a display step of displaying a setting screen that accepts an operation for enabling or disabling the specific setting when a predetermined operation is performed on a screen displayed in the first application program after the first application program is started; Then run When an operation for enabling the specific setting is accepted on the setting screen, the specific setting is enabled, and when an operation for disabling the specific setting is accepted on the setting screen, the specific setting is disabled; After the predetermined process is executed by the second application program that is started based on the execution of the start-up process, a process for activating the first application program is performed by the second application program, and if the predetermined setting is not valid in the information processing device, an operation for disabling the specific setting on the setting screen is not accepted, and the specific setting is disabled.
2. The program according to claim 1 .
15. The computer of the information processing device a sending step of sending a print job for executing printing or a scan job for executing scanning to the communication device found by the processing for the first search processing; 2. The program according to claim 1, further comprising:
16. the operating system (OS) of the information processing device is an OS of a predetermined version or higher, A computer of another information processing device that is different from the information processing device and has an OS version lower than the predetermined version, a fifth execution step of executing the predetermined function when a process for activating the first application program is performed by the second application program after the predetermined process is performed by the second application program that is started based on the execution of the start-up process, regardless of whether a setting for using a location information service of the other information processing device is valid in the other information processing device; 2. The program according to claim 1, further comprising:
17. the operating system (OS) of the information processing device is an OS of a predetermined version or higher, In the information processing device having an OS of a version equal to or greater than the predetermined version, the first search process is not executed unless the predetermined setting is valid in the information processing device.
2. The program according to claim 1 .
18. the first search process is a process of searching for the communication device operating as an access point according to a communication standard of the IEEE 802.11 series; 2. The program according to claim 1 .
19. the process for activating the first application program is a process for launching the first application program; 2. The program according to claim 1 .
20. the process for activating the first application program is a process of notifying the first application program of predetermined information; 2. The program according to claim 1 .
21. When a process for activating the first application program is performed by the second application program, the first application program is activated and runs in the foreground.
2. The program according to claim 1 .
22. A method for controlling an information processing device having a first application program, comprising: a first launch step of executing a launch process for launching a second application program capable of executing a process for a first search process, which is a process for searching for one or more communication devices, and is executed based on the fact that a predetermined setting for using a location information service of the information processing device is valid in the information processing device; a disabling step of disabling a specific setting for executing a predetermined function, which is a function of the first application program and includes a processing for the first search processing, when a processing for activating the first application program is performed by the second application program after the second application program has been started based on the execution of the start-up processing and the predetermined processing including a processing for the first search processing is executed but the predetermined setting is not valid in the information processing device; a first execution step of executing the predetermined function when the specific setting is valid, based on the start of the first application program, and not executing the predetermined function when the specific setting is invalid, even if the first application program is started; A control method comprising:
23. An information processing device having a first application program, a first launching means for executing a launching process for launching a second application program capable of executing a process for a first search process, which is a process for searching for one or more communication devices, and is executed based on the fact that a predetermined setting for using a location information service of the information processing device is valid in the information processing device; a disabling means for disabling a specific setting for executing a predetermined function, which is a function of the first application program and includes the processing for the first search processing, when a process for activating the first application program is performed by the second application program after the second application program has been started based on the execution of the start-up process and the predetermined processing including the processing for the first search processing is executed but the predetermined setting is not valid in the information processing device; a first execution means for executing the predetermined function when the specific setting is valid and when the first application program is started, and for not executing the predetermined function when the specific setting is invalid and when the first application program is started; An information processing device comprising:
Citation Information
Patent Citations
Information providing system, information providing method, and program
JP2022030782A