Non-transitory computer readable storage medium, method and program product
By controlling the conversion of applications between the foreground and the background by programs operating on the operating system OS, the problem that applications cannot perform appropriate processing in the prior art is solved, and smooth control of application processing is achieved.
Patent Information
- Application Number
- CN202411400323.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-10-10
- Filing Date
- 2024-10-09
- Publication Date
- 2025-04-11
AI Technical Summary
When an application is transformed from the foreground to the backend and returned to the foreground, the prior art cannot effectively control the processing of the application, resulting in the application being unable to perform the processing properly.
Through programs operated on the operating system OS, the process of the application establishing a connection between the predetermined access point and the information processing device includes executing different processing methods on the host OS and the client OS to ensure smooth conversion of the application between the foreground and the backend.
It realizes the control of the application processing according to the structure of the operating system, ensures the smooth conversion of the application between the foreground and the background, and avoids the problem that the application cannot perform the processing properly.
Smart Images

Figure CN119806654A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a non-transitory computer-readable storage medium, method, and program product storing a program of an application operating on an OS. Background Art
[0002] Japanese Patent Laid-Open No. 2013-240011 describes a technology that, when a request to start a cooperative application B in the foreground using a connection by a predetermined protocol as a condition occurs while a cooperative application A is executed in the foreground, the cooperative application A is shifted to the background. In Japanese Patent Laid-Open No. 2013-240011, it is described that whether the cooperative application A is executed in a connected state or a non-connected state is determined by a predetermined protocol, and if it is determined that the cooperative application A is executed in a non-connected state, the cooperative application A is continued in the background without stopping the execution of the cooperative application A. Summary of the invention
[0003] In the case where the application executes subsequent processing when the application screen transitions to the background and then returns to the foreground, the application screen may not transition to the background depending on the configuration of the OS. In this case, the application cannot properly execute processing.
[0004] The present invention provides a non-transitory computer-readable storage medium storing a program for controlling a process of an application program according to a configuration of an OS, a method, and a program product.
[0005] The present invention provides, in its first aspect, a non-transitory computer-readable storage medium storing a program capable of operating on an operating system (OS), the program, when executed by one or more processors of a first information processing device, causing the first information processing device to perform a first method, the first information processing device having a first operating environment on a first OS operating as a host OS but not on a guest OS, the first method comprising: instructing the host OS to execute a first process for establishing a connection between a predetermined access point and the first information processing device, and after causing the host OS to display a screen for establishing a connection between the predetermined access point and the first information processing device by instructing the host OS to execute the first process, executing confirmation whether to establish the predetermined access point based on the fact that the program returns to a state in which the program is operating on the foreground processing of a connection between an access point and the first information processing device; wherein the program, when executed by one or more processors of a second information processing device, causes the second information processing device to perform a second method, the second information processing device having a second operating environment on a second OS operating as a host OS and on a guest OS, the second method comprising: instructing the guest OS to execute a second process for establishing a connection between the predetermined access point and the second information processing device, and after causing the guest OS to display a screen for establishing a connection between the predetermined access point and the second information processing device by instructing the guest OS to execute the second process, executing a process of confirming whether to establish a connection between the predetermined access point and the second information processing device based on a predetermined time that has passed since the guest OS was instructed to execute the second process.
[0006] The present invention provides, in its second aspect, a method for controlling a first information processing device and a second information processing device, wherein the first information processing device has a predetermined program that can operate on an operating system (OS) and has a first operating environment on the first OS operating as a host OS but not on a guest OS, and the second information processing device has the predetermined program and has a second operating environment on the second OS operating as a host OS and on the guest OS, the method comprising: instructing the host OS to execute a first process for establishing a connection between a predetermined access point and the first information processing device through the predetermined program in the first information processing device; after causing the host OS to display a screen for establishing a connection between the predetermined access point and the first information processing device by instructing the host OS to execute the first process, The predetermined program in the first information processing device executes a process of confirming whether a connection between the predetermined access point and the first information processing device is established based on the fact that the predetermined program returns to a state in which the predetermined program is operating on the foreground; instructs the guest OS to execute a second process for establishing a connection between the predetermined access point and the second information processing device through the predetermined program in the second information processing device; and after the guest OS displays a screen for establishing a connection between the predetermined access point and the second information processing device by instructing the guest OS to execute the second process, executes a process of confirming whether a connection between the predetermined access point and the second information processing device based on a predetermined time that has passed since the guest OS was instructed to execute the second process through the predetermined program in the second information processing device.
[0007] The present invention provides a program product in its third aspect, which stores a program that can operate on an operating system OS, and when the program is executed by one or more processors of a first information processing device, causes the first information processing device to perform a first method, the first information processing device having a first operating environment on a first OS operating as a host OS but not on a guest OS, the first method comprising: instructing the host OS to execute a first process for establishing a connection between a predetermined access point and the first information processing device through the predetermined program in the first information processing device; after causing the host OS to display a screen for establishing a connection between the predetermined access point and the first information processing device by instructing the host OS to execute the first process, a predetermined program that, based on the fact that the predetermined program returns to a state in which the predetermined program is operating on the foreground, executes a process of confirming whether a connection between the predetermined access point and the first information processing device is established; instructs the guest OS to execute a second process for establishing a connection between the predetermined access point and the second information processing device through the predetermined program in the second information processing device; and after the guest OS displays a screen for establishing a connection between the predetermined access point and the second information processing device by instructing the guest OS to execute the second process, executes, through the predetermined program in the second information processing device, a process of confirming whether a connection between the predetermined access point and the second information processing device is established based on a predetermined time that has passed since the guest OS was instructed to execute the second process.
[0008] According to the present invention, the processing of the application program can be controlled according to the configuration of the OS.
[0009] Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 is a block diagram showing a configuration including an information processing device and a communication device;
[0011] Figure 2 is a sequence diagram showing a wireless connection sequence in WFD mode;
[0012] Figure 3A and Figure 3B are block diagrams each showing a software configuration of an information processing apparatus;
[0013] 4A to 4D are diagrams each showing a user interface screen;
[0014] FIG. 5A to FIG. 5D are diagrams each showing a user interface screen;
[0015] FIG. 6A to FIG. 6Dare diagrams each showing a user interface screen;
[0016] Fig. 7A and Figure 7B are diagrams each showing a user interface screen;
[0017] FIG. 8A to FIG. 8D are diagrams each showing a user interface screen;
[0018] Fig. 9 It is a sequence diagram between the application and the OS;
[0019] Fig.10 It is a sequence diagram between the application and the OS;
[0020] Fig.11 is a flow chart showing a network setting process;
[0021] Fig.12 is a flow chart showing the processing of the application;
[0022] Fig.13 is a flow chart showing the processing of the application;
[0023] Fig.14 is a flow chart showing the processing of the application; and
[0024] Fig.15 is a block diagram showing the functional blocks of an application. DETAILED DESCRIPTION
[0025] Hereinafter, the embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments are not intended to limit the scope of the claimed invention. A plurality of features are described in the embodiments, but the invention is not limited to requiring all of these features, and a plurality of such features may be appropriately combined. In addition, in the accompanying drawings, the same reference numerals are given to the same or similar configurations, and redundant descriptions thereof will be omitted.
[0026] [First embodiment]
[0027] The information processing device and the communication device included in the communication system according to the present embodiment will be described. In the present embodiment, a smart phone is illustrated as an information processing device, but the present invention is not limited thereto, and various devices such as portable terminals, laptops, tablet computers, personal digital assistants (PDAs), and digital cameras are applicable. As a communication device, various devices are applicable as long as these devices can communicate wirelessly with the information processing device. For example, with respect to printers, inkjet printers, full-color laser beam printers, monochrome printers, etc. are all applicable. In addition, not only printers are applicable, but also scanners, copiers, fax devices, portable terminals, smart phones, laptops, tablet terminals, PDAs, digital cameras, music playback devices, televisions, smart speakers, etc. are applicable. In addition, multifunction peripherals having multiple functions such as copying function, fax function, printing function, and scanner function are also applicable. In the present embodiment, it is assumed that the communication device is a multifunction printer having a printing function and a scanner function.
[0028] <Hardware Configuration of Each Device>
[0029] First, refer to Figure 1 The block diagram of FIG. 1 illustrates the configuration of an information processing device included in the communication system according to the present embodiment, and the configuration of a communication device that can communicate with the information processing device. The following configuration will be exemplified in the present embodiment, but the functions are not specifically limited to Figure 1 Those features shown.
[0030] The information processing apparatus 101 includes an input interface 102, a CPU 103, a ROM 104, a RAM 105, an external storage device 106, an output interface 107, an operation display unit 108, a communication unit 109, a short-range wireless communication unit 110, and a camera 111. The input interface 102 is an interface configured to accept data input and operation instructions from a user, and is formed by a physical keyboard, display buttons, a touch panel, etc. Note that the output interface 107 and the input interface 102 (described later) may have the same arrangement, and the output of a screen and the acceptance of an operation from a user may be performed by the same arrangement.
[0031] The CPU 103 is a system control unit, and controls the entire information processing apparatus 101. The ROM 104 stores permanent data such as a control program to be executed by the CPU 103, a data table, and an embedded operating system (hereinafter referred to as an OS) program. In the present embodiment, the control program stored in the ROM 104 performs software execution control such as scheduling, task switching, and interrupt processing under the management of the embedded OS stored in the ROM 104. Note that in the present embodiment, it is assumed that the OS held in the ROM 104 and operating on the information processing apparatus 101 is provided by Google Inc. OS or provided by Google Inc. When the OS operating on the information processing device 101 is Chrome OS, the ROM 104 holds even a virtual Android OS for operating an Android OS application (described later) on the information processing device 101 .
[0032] The RAM 105 is formed of a static random access memory (SRAM) or the like that requires a backup power supply. Note that the RAM 105 can store important data such as program control variables without volatilization because the data is saved by a primary battery (not shown) for data backup. In addition, a storage area for storing setting information of the information processing device 101, management data of the information processing device 101, and the like is also provided in the RAM 105. Furthermore, the RAM 105 is also used as a main memory and a working memory of the CPU 103.
[0033] The external storage device 106 includes an application program (hereinafter described as an application) having a function of communicating with the communication device 151. Note that, more specifically, for example, the application is an application having a printing function for causing the communication device 151 to perform printing and a scanning function for causing the communication device 151 to perform scanning. However, the application is not limited to this form, and may be an application having either a printing function and a scanning function (a printing application or a scanning application), or an application having other functions. For example, the application may be a setting application having a function of executing a network setting process for connecting the communication device 151 to an external access point. The present embodiment assumes that the application is a setting application having all functions of a printing function, a scanning function, and a function of executing a network setting process. The external access point is, for example, the access point 131 (described later). The network setting process corresponds to the network setting process described later. Fig.11 As an example, Fig.15As shown, it is assumed that the setting application of this embodiment is a setting application having function blocks 1501 to 1504 for executing the above functions. Specifically, the setting application of this embodiment has a function block 1505 for determining whether the information processing device 101 is operating in the first environment or the second environment. In addition, the setting application of this embodiment is not limited to Fig.15 The external storage device 106 has the functions shown, and has other functional blocks as appropriate. The external storage device 106 also has various programs, such as a print information generation program for generating print information that can be interpreted by the communication device 151, and an information sending control program for sending to the communication device 151 connected via the communication unit 109 or an information receiving control program for receiving from the communication device 151 connected via the communication unit 109. These programs may be programs included in the above-mentioned setting application or programs constructed separately from the setting application. The external storage device 106 stores various information to be used by these programs. The external storage device 106 also stores image data obtained from another information processing device or the Internet via the communication unit 109. Note that the setting application in this embodiment is an application for Android OS.
[0034] The output interface 107 is an interface that performs control for causing the operation display unit 108 to display data and notify the status of the information processing apparatus 101. The operation display unit 108 is formed of a light emitting diode (LED), a liquid crystal display (LCD), or the like, and performs display of data and notification of the status of the information processing apparatus 101. Note that a software keyboard including keys such as a numeric input key, a mode setting key, an OK key, a cancel key, and a power key may be provided on the operation display unit 108 so that input from the user is accepted via the operation display unit 108.
[0035] The communication unit 109 is configured to be connected to a device such as the communication device 151 to perform data communication. For example, the communication unit 109 can be connected to an access point (not shown) in the communication device 151. When the communication unit 109 and the access point in the communication device 151 are connected to each other, the information processing device 101 and the communication device 151 can communicate with each other. Hereinafter, the access point will sometimes be referred to as AP. Note that the communication unit 109 can communicate directly with the communication device 151 through wireless communication, or can communicate with the communication device 151 via an access point 131 that exists outside the information processing device 101 and the communication device 151. As a wireless communication method, the IEEE 802.11 communication standard is used in this embodiment. Note that the IEEE 802.11 communication standard is
[0036] For example, a device such as a wireless LAN router can be used as the access point 131. Note that in this embodiment, a method of directly connecting the information processing device 101 and the communication device 151 without intervention of an external access point is hereinafter referred to as a direct connection method. In addition, a method of connecting the information processing device 101 and the communication device 151 via the external access point 131 is hereinafter referred to as an infrastructure connection method.
[0037] The short-range wireless communication unit 110 is configured to wirelessly connect to and perform data communication with a device such as the communication device 151 at a short distance, and communicates by a communication method different from the communication method of the communication unit 109. The short-range wireless communication method used by the short-range wireless communication unit 110 is, for example, Or Near Field Communication (NFC). Bluetooth may be Bluetooth Classic or Bluetooth Low Energy. The short-range wireless communication unit 110 may be connected to the short-range wireless communication unit 157 in the communication device 151.
[0038] The camera device 111 is a device that converts an image captured by an image sensor into digital data. The digital data is temporarily stored in the RAM 105. Then, the digital data is converted into a predetermined image format by a program executed by the CPU 103 and saved in the external storage device 106 as image data.
[0039] The communication device 151 includes a ROM 152, a RAM 153, a CPU 154, a print engine 155, a communication unit 156, a short-range wireless communication unit 157, an input interface 158, an output interface 159, an operation display unit 160, and a scan control unit 161. When a connection mode (communication mode) is set, the communication device 151 can operate in the set connection mode.
[0040] The communication unit 156 is configured to allow the communication device 151 to communicate with another device. In the present embodiment, the communication unit 156 communicates according to the IEEE 802.11 communication standard. The communication unit 156 includes an access point for connecting with a device such as the information processing device 101 as an access point in the communication device 151. Note that the access point can be connected to the communication unit 109 of the information processing device 101. It is also noted that the communication unit 156 can communicate directly with the information processing device 101 through wireless communication, or can communicate with the information processing device 101 via the access point 131. The communication unit 156 may include hardware used as an access point, or operate as an access point by software for causing the communication unit 156 to function as an access point. Note that in the present embodiment, the communication unit 156 and the short-range wireless communication unit 157 are implemented by one radio chip. That is, in the present embodiment, a combination chip corresponding to both a communication function based on the IEEE 802.11 communication standard and a communication function based on a short-range wireless communication method is used. However, the present invention is not limited to this form, and the communication unit 156 and the short-range wireless communication unit 157 may be implemented by separate radio chips.
[0041] The RAM 153 is formed of a DRAM or the like that requires a backup power supply. Note that the RAM 153 can store important data such as program control variables without volatilization because the data is held by a power supply (not shown) for data backup. In addition, the RAM 153 is used as a main memory and a working memory for the CPU 154, operates as a receiving buffer for temporarily saving print information received from the information processing apparatus 101 or the like, and saves various information.
[0042] The ROM 152 stores permanent data such as control programs, data tables, and OS programs to be executed by the CPU 154. In the present embodiment, each control program stored in the ROM 152 performs software execution control such as scheduling, task switching, and interrupt processing under the management of the embedded OS stored in the ROM 152. In addition, a storage area is also provided in the ROM 152, which stores data that needs to be retained even when power is not supplied, such as setting information of the communication device 151 and management data of the communication device 151.
[0043] The CPU 154 is a system control unit, and controls the entire communication device 151. The print engine 155 forms an image on a print medium such as a paper sheet using a print material such as ink based on the information stored in the RAM 153 or the print job received from the information processing device 101 or the like, and outputs a print result. At this time, the print job sent from the information processing device 101 or the like has a large amount of transmission data, and high-speed communication is required. Therefore, the print engine 155 receives the print job via the communication unit 156 capable of communicating at a higher speed than the short-range wireless communication unit 157.
[0044] The short-range wireless communication unit 157 is configured to wirelessly connect to a device such as the information processing device 101 at a short distance and perform data communication, and communicates by a communication method different from the communication method of the communication unit 156. The short-range wireless communication method used in the short-range wireless communication unit 157 is, for example, Or NFC. The Bluetooth may be Bluetooth Classic or Bluetooth Low Energy. The short-range wireless communication unit 157 may be connected to the short-range wireless communication unit 110.
[0045] The input interface 158 is an interface configured to accept data input and operation instructions from the user, and is formed by a physical keyboard, buttons, a touch panel, etc. Note that the output interface 159 and the input interface 158 (described later) may have the same arrangement, and the output of the screen and the acceptance of the operation from the user may be performed by the same arrangement. The output interface 159 is an interface that performs control for causing the operation display unit 160 to perform display of data and notification of the status of the communication device 151.
[0046] The operation display unit 160 is formed of a display unit such as a light emitting diode (LED) or a liquid crystal display (LCD), and performs display of data and notification of the state of the communication device 151. Note that a software keyboard including keys such as a numeric input key, a mode setting key, an OK key, a cancel key, and a power key may be provided on the operation display unit 160 so that input from the user is accepted via the operation display unit 160.
[0047] The scanning control unit 161 includes an image sensor unit (reading unit) that performs scanning on a document set on a document table or an automatic document feeder (ADF) (not shown). Note that the image sensor unit includes a light source configured to irradiate the document with light and an image sensor having an element array configured to read reflected light and perform photoelectric conversion on it. The scanning control unit 161 acquires image data by performing analog / digital (A / D) conversion on an analog electric signal obtained by reading the document by the image sensor unit. The scanning control unit 161 also includes a circuit configured to perform direct memory access (DMA) transfer to store the acquired image data in the RAM 153.
[0048] <Direct connection method>
[0049] Direct connection indicates a form in which the device is wirelessly connected directly (i.e., by point-to-point) without intervention of an external device such as the access point 131. As a connection mode, the communication device 151 may operate in a mode for communication by direct connection (direct connection mode). In Wi-Fi communication, modes of communication by direct connection include software AP mode and Wi-Fi Wi-Fi Direct will be referred to as WFD hereinafter.
[0050] The mode in which WFD performs direct connection is called WFD mode. WFD is a standard developed by the Wi-Fi Alliance and is a standard included in the IEEE 802.11 communication standard. In WFD mode, a device acting as a communication partner is searched through a device search command, and then the roles of the P2P group owner (GO) and the P2P client are determined, and the remaining wireless connection processing is performed. The group owner corresponds to the Wi-Fi master station (master unit), and the client corresponds to the Wi-Fi slave station (slave unit). For example, this role creation corresponds to GO Negotiation in P2P. Note that in the WFD mode in the state before role creation, the communication device 151 is neither a master station nor a slave station. More specifically, first, one of the devices communicating with each other publishes device search information and searches for devices to be connected in WFD mode. After finding another device used as a communication partner, the device confirms information about the services and functions that can be supplied by each device. Note that device provision information confirmation is an option and is not necessary. The device provision information confirmation phase corresponds to, for example, P2P Provision Discovery. Then, the device confirms the device provisioning information and decides which device acts as a P2P client and which device acts as a P2P group owner as roles. After deciding the client and the group owner, the devices exchange parameters for performing WFD communication. The P2P client and the P2P group owner perform the remaining wireless connection processing and IP connection processing based on the exchanged parameters. Note that in WFD mode, the communication device 151 can always operate as a GO without performing the above-mentioned GO negotiation. That is, the communication device 151 can operate in the WFD mode which is an autonomous GO mode. The state in which the communication device 151 operates in the WFD mode is, for example, a state in which a WFD connection is not established but the communication device 151 operates as a GO, or a state in which a WFD connection is established and the communication device 151 operates as a GO.
[0051] In software AP mode, one of the devices that communicate with each other (e.g., information processing device 101 and communication device 151) (e.g., information processing device 01) acts as a client that plays the role of requesting various services. Another device implements the function of an access point in Wi-Fi through software settings. Software AP corresponds to a Wi-Fi master station, and the client corresponds to a Wi-Fi slave station. In software AP mode, the client searches for a device used as a software AP through device search information. After finding the software AP, the client and the software AP perform the remaining wireless connection processing (establishing a wireless connection, etc.), and then perform IP connection processing (assigning an IP address, etc.). Note that the commands and parameters sent / received when implementing a wireless connection between the client and the software AP are only those commands and parameters defined by the Wi-Fi standard, and their description will be omitted here.
[0052] In the present embodiment, in the case where the communication device 151 establishes and maintains a direct connection, it operates as a master station in the network to which the communication device 151 belongs. Note that the master station is a device that creates a wireless network and is a device that provides parameters used in connection with the wireless network to the slave station. The parameters used in the connection with the wireless network are, for example, parameters about the channels used by the master station. The slave station receives the parameters and then connects to the wireless network created by the master station using the channels used by the master station. In the direct connection mode, the communication device 151 operates as a master station, so the specific frequency band and channel to be used for communication in the direct connection method can be determined. In the present embodiment, the communication device 151 can use a channel corresponding to the 2.4-GHz frequency band and a channel corresponding to the 5-GHz frequency band for communication under the direct connection method. Then, the user can arbitrarily set the specific frequency band to be used (that is, the channel in the specific frequency band to be used) by setting it on the screen displayed by the communication device 151. However, in the present embodiment, even if 5GHz is selected on the screen displayed by the communication device 151, the communication device 151 does not use the channel corresponding to the dynamic frequency selection (DFS) band in the 5GHz frequency band for communication in the direct connection mode. In other words, the communication device 151 uses only channels corresponding to frequency bands other than the DFS band in the 5-GHz band for communication in the direct connection mode. Note that if a radar wave in a frequency band corresponding to a channel is detected while the channel corresponding to the DFS band is being used, it is necessary to change the channel currently in use. The frequency band in which the channel can be changed by detecting radar waves is called the DFS band. Note that, for example, if a radio chip corresponding to the DFS function is used, a channel corresponding to the dynamic frequency selection (DFS) band in the 5-GHz band can be used for communication in the direct connection mode.
[0053] Figure 2 is a sequence diagram showing a wireless connection sequence in WFD mode. Note that the processing performed by each device in this sequence is implemented when the CPU of each device reads out various programs stored in a memory such as a ROM of each device into the RAM and executes the programs. This processing starts when each device accepts a predetermined operation from the user for establishing a WFD connection in a state where each device starts a predetermined application for executing a WFD function. Note that the predetermined operation for establishing a WFD connection is, for example, an operation of selecting a "direct connection mode enable / disable" button. Note that this operation corresponds to an operation for starting the direct connection mode.
[0054] First, in S201 , the information processing apparatus 101 transmits device search information to search for a device supporting the WFD function as a communication partner device.
[0055] Subsequently, in S202, if the received device search information is information transmitted using the same channel as the channel currently used in the direct connection mode, the communication device 151 transmits a device search response to the information processing device 101 as a response to the information. As a result, the information processing device 101 finds the communication device 151 as a device supporting the WFD function. Note that after the information processing device 101 finds the communication device 151, a process of exchanging information about services and functions that each device can provide may be performed between these devices.
[0056] Subsequently, in S203, the information processing device 101 and the communication device 151 perform GO negotiation. After deciding the client and the group owner, they exchange parameters for performing WFD communication. Based on the exchanged parameters, the P2P client and the P2P group owner perform the remaining wireless connection processing and IP connection processing. Note that when the communication device 151 operates in autonomous GO mode, as described above, the communication device 151 may not perform GO negotiation and always operate as a GO. In addition, if the communication device 151 operates as a GO, the communication device 151 acts as a master station for deciding the frequency band and channel for WFD communication. Therefore, the communication device 151 operating as a GO can select which of the 5-GHz band and the 2.4-GHz band, and which of the channels corresponding to the decided frequency band.
[0057] Thereafter, in S204 , based on the exchanged parameters, each device performs a process of establishing a wireless connection through WFD using the channel determined by the GO.
[0058] <Infrastructure connection method>
[0059] Infrastructure connection is a form of connection in which devices that communicate with each other (e.g., information processing device 101 and communication device 151) are connected to an access point (e.g., access point 131) that controls a network of devices, and the devices communicate with each other via the access point. As a connection mode, communication device 151 can operate in a mode of communication via infrastructure connection (infrastructure connection mode).
[0060] In infrastructure connection, each device searches for an access point through device search information. After finding the access point, the device and the access point perform the remaining wireless connection processing (establishing a wireless connection, etc.), and then perform IP connection processing (allocating an IP address, etc.). Note that the commands and parameters sent / received when implementing a wireless connection between a device and an access point only need to be those defined by the Wi-Fi standard, and their description will be omitted here.
[0061] In the present embodiment, when the communication device 151 operates in the infrastructure connection mode, the access point 131 operates as a master unit, and the communication device 151 operates as a slave unit. That is, in the present embodiment, the infrastructure connection means the connection between the communication device 151 operating as a slave unit and the device operating as a master unit. In the case where the communication device 151 establishes an infrastructure connection and the information processing device 101 also establishes an infrastructure connection to the access point 131, the communication device 151 and the information processing device 101 can communicate with each other via the access point 131. Since the access point 131 decides the channel to be used for communication in the infrastructure connection, the communication device 151 uses the channel decided by the access point 131 to perform communication in the infrastructure connection. In the present embodiment, the communication device 151 can use a channel corresponding to the 2.4 GHz band and a channel corresponding to the 5 GHz band for communication in the infrastructure connection. Note that the communication device 151 can also use a channel corresponding to the DFS band in the 5-GHz band for communication in the infrastructure connection. Note also that in order to communicate with the communication device 151 via the access point 131, the information processing device 101 needs to recognize that the communication device 151 belongs to a network formed by the access point 131 and to which the information processing device 101 belongs. In addition, in the case where the information processing device 101 and the communication device 151 are connected to the access point 131 through an infrastructure connection, the communication device 151 can be found through a broadcast performed by the information processing device 101.
[0062] <Network Setting Mode>
[0063] The communication device 151 may operate in the network setting mode. The trigger for the communication device 151 to start operation in the network setting mode may be, for example, a user pressing a network setting mode button or the communication device 151 being started (powered on) for the first time after arrival. The network setting mode button may be a hardware (physical) button of the communication device 151 or a software button displayed by the communication device 151 on the display unit 158.
[0064] When the communication device 151 starts operating in the network setting mode, it enables Wi-Fi communication. More specifically, as a Wi-Fi communication enabling process, the communication device 151 enables the internal AP (connection setting AP) of the communication device 151 dedicated to the network setting mode. Then, the communication device 151 can establish a Wi-Fi direct connection to the information processing device 101. It is assumed that the connection information (service set identifier (SSID) and password) for connecting to the connection setting AP is previously retained in the setting application installed in the information processing device 101, and the information processing device 104 recognizes the connection information for connecting to the connection setting AP in advance. Therefore, unlike the connection information of the AP enabled in the direct connection mode, the connection information for connecting to the connection setting AP cannot be arbitrarily changed by the user. Note that in the network setting mode, the communication device 151 can be connected to the information processing device 101 via Wi-Fi Direct (WFD) instead of ordinary Wi-Fi. That is, the communication device 151 can operate as a group owner and receive a setting command from the information processing device 101 via WFD communication. Alternatively, the communication device 151 can be connected to the information processing device 101 via Bluetooth in the network setting mode. Bluetooth includes Bluetooth Classic and Bluetooth Low Energy (BLE). That is, for example, the communication device 151 can operate as a slave device in BLE in the network setting mode and receive a setting command from the information processing device 101 through BLE communication. In addition, in the network setting mode, the communication device 151 is able to perform both network settings through Wi-Fi and network settings through BLE. That is, when the communication device 151 starts operation in the network setting mode, it can enable both Wi-Fi communication and BLE communication. More specifically, when the communication device 151 starts operation in the network setting mode, it can enable both the connection setting AP and the advertising state of the BLE connection by sending advertising information through BLE.
[0065] When the communication device 151 operates in the network setting mode, it controls the communication unit 156 to operate as a network setting access point (connection setting AP or setting access point) that is enabled only during the operation of the network setting mode. The setting access point is an access point different from the access point enabled in the above-mentioned software AP mode. It is assumed that the SSID of the setting access point includes a predetermined character string that can be recognized by the setting application of the information processing device 101.
[0066] Assume that the communication device 151 operating in the network setting mode uses a predetermined communication protocol (setting communication protocol) in communication with the information processing device 101 connected to the setting access point. More specifically, the setting communication protocol is, for example, the Simple Network Management Protocol (SNMP).
[0067] If a predetermined time has passed after the communication device 151 starts the operation in the network setting mode, the communication device 151 stops the operation in the network setting mode and disables the set access point. In addition, even if the connection information for connecting to the access point 131 and the change instruction of the wireless communication operation mode are received from the information processing device 101 in the network setting mode, the set access point is disabled. It is assumed that the set access point is an access point that does not require a password for connection. Note that the set access point may be an access point that requires a password. In this case, the password for connecting to the set access point is a fixed password (not changeable by the user) that is pre-mastered by the setting application.
[0068] <Software Configuration of Information Processing Device 101>
[0069] Next, the software configuration of the information processing apparatus 101 according to the present embodiment will be described. Figure 3A An example of the software construction of the information processing device 101 when the host OS operating on the information processing device 101 is the Android OS (first OS) is shown. In this form, the application of the Android OS operates on the Android OS. In this form, the software construction of the information processing device 101 does not include the Chrome OS. In the following, as in this form, an environment in which the OS operating on the lowest layer of the information processing device 101 is the Android OS (not the Chrome OS) will be referred to as the first environment. More specifically, the first environment is, for example, an environment in which the host OS is installed in the information processing device 101 but the client OS is not installed, and the application operates on the host OS. In addition, more specifically, the first environment is, for example, an environment in which both the host OS and the client OS are installed in the information processing device 101, and the application operating in this embodiment operates on the host OS and operates without the intervention of the client OS (does not operate on the client OS).
[0070] Figure 3BAn example of the software construction of the information processing device when the host OS operating on the information processing device 101 is Chrome OS (second OS) is shown. In this form, a virtual Android OS acting as a virtual operating system operates on Chrome OS. Applications of Android OS operate on the virtual Android OS. As in this form, the OS operating on the lowest layer of the information processing device 101 is Chrome OS and the environment in which the virtual Android OS operates on Chrome OS is called the second environment. Note that in this embodiment, the virtual OS is a program for operating an application that does not correspond to the host OS on the host OS, and is a client OS. Note that the virtual OS can be an entire existing OS such as Android OS, an OS obtained by omitting some modules from the entire existing OS, or a program created separately from the existing OS. The virtual OS is implemented by virtualization technology such as a virtual machine system or a container system, for example.
[0071] Problems that arise when an application for the Android OS is operated in the second environment will be described below.
[0072] The processing may be transferred from the application for Android OS to another software. For example, assume a case where the application for Android OS is a setting application for making network settings and the processing is transferred to the OS to connect the information processing apparatus 101 to an external access point. The external access point corresponds to, for example, an access point in a printer in network setting mode.
[0073] It is assumed that a screen (hereinafter referred to as an application screen) displayed by a setting application in a first environment is displayed on the foreground. If the process is transferred to the OS, a screen (hereinafter referred to as an OS screen) displayed by an OS standard application is displayed so as to overlap with the foreground in the window of the application screen. That is, the OS screen is displayed on the foreground and the application screen is displayed on the background. Note that the OS screen may not be a screen displayed on the entire display of the information processing device 101, but may be a dialog box displayed on a part of the display. Similar to the host OS, the OS standard application is an OS standard application pre-installed in the information processing device 101 when the information processing device 101 arrives. In other words, the OS standard application is an application that is not installed by a store application (as an application for installing various applications in the information processing device 101 via the Internet). Note that the OS standard application can be regarded as a part of the host OS. If the display of the OS screen ends in this state, the application screen is displayed on the foreground again, and the OS notifies the application that the display of the application screen has returned to the foreground. Then, the setting application performs a process of determining the external access point to which the information processing device 101 is connected based on the notification that the display of the application screen has returned from the background to the foreground, and performs a network setting process of the printer.
[0074] On the other hand, assume that the application screen is displayed on the foreground in the second environment. The second environment is an environment corresponding to the multi-window function. The multi-window function is a function of displaying multiple windows simultaneously (at the same time) on the screen of the information processing device 101. Therefore, if the processing is transferred to the OS at this time, the OS screen may be displayed by a window different from the window displaying the application screen, and displayed in an area different from the area where the window displaying the application screen is displayed. That is, even if the OS screen is displayed based on the user's operation on the application screen, the application screen may still be displayed on the foreground and may not be transferred to the background. Therefore, even when the display of the OS screen ends, the OS will not notify the setting application that the display has returned to the foreground. Therefore, the setting application does not receive a notification from the OS and cannot start subsequent scheduled processing, such as network setting processing.
[0075] In order to cope with such a situation, in the present embodiment, if the application for the Android OS transfers the processing to the OS and performs the predetermined processing based on the information acquired from the OS, it is determined whether the setting application is operating in the first environment or the second environment. If it is determined that the setting application is operating in the second environment, the setting application inquires the OS for information to be used for the subsequent predetermined processing at predetermined time intervals without waiting for the above-mentioned notification from the OS. Then, the setting application performs the processing of determining the external access point connected to the information processing device 101. With this configuration, the setting application can start the subsequent predetermined processing, such as the network setting processing, even in the second environment.
[0076] This problem will be further described.
[0077] If the processing is transferred to the OS in the state where the application screen is displayed on the foreground in the second environment, as described above, the OS screen is displayed in a window different from the window where the application screen is displayed, and the application screen is still displayed on the foreground. That is, the user can operate not only on the OS screen but also on the application screen. On the other hand, if the processing is transferred to the OS in the state where the application screen is displayed on the foreground in the first environment, the OS screen is displayed on the foreground and the application screen is displayed on the background. In this state, the user cannot operate on the application screen.
[0078] Due to the configuration of the setting application, when the setting application transfers processing to the OS and waits for the processing result of the OS, it is not assumed that the setting application accepts user operations on the application screen. Therefore, if an unexpected user operation is accepted at this timing, the "OS processing standby" state of the setting application is canceled unintentionally. As a result, the subsequent scheduled processing, such as the network setting processing, cannot be started.
[0079] In order to cope with such a situation, in the present embodiment, if the application for the Android OS transfers the processing to the OS and performs the predetermined processing based on the information obtained from the OS, it is determined whether the setting application is operating in the first environment or the second environment. If it is determined that the setting application is operating in the second environment, the setting application transfers the processing to the OS, and then performs the display control of the application screen so as not to accept the user operation. With this configuration, it is possible to prevent a situation where an unexpected user operation is accepted and therefore the subsequent predetermined processing (e.g., network setting processing) cannot be started.
[0080] First, a case where the information processing apparatus 101 operates in the above-mentioned first environment will be described. Fig. 9 is a sequence diagram showing a sequence process between a setting application and a host OS in a first environment. For example, the host OS is Figure 3A AndroidOS shown.
[0081] In S101, the setting application displays a user operation instruction screen. The user operation instruction screen is a screen displayed by the setting application. In this embodiment, the setting application is an application for performing network settings of the communication device 151. Figure 4A 4 is a diagram showing an example of a user operation instruction screen displayed in S101. On the user operation instruction screen, an operation process 402 for changing the state of the communication device 151 to the network setting mode is displayed. Figure 4AAs shown, a message for prompting to long-press the button on the communication device 151 for 3 seconds is displayed. If the button for transitioning to the network setting mode is operated according to the operation process, the communication device 151 transitions to the network setting mode. More specifically, for example, the CPU 154 causes the communication unit 156 to operate as a setting access point enabled only during operation in the network setting mode. After operating according to the operation process 402, the user presses the "Next" button 401. If the setting application displays the user operation instruction screen in S101, the setting application internally stores the connection information (SSID, etc.) with the currently connected external access point.
[0082] exist Figure 4A When the user operation instruction screen shown in FIG. 1 accepts the pressing of the "Next" button 401, in S102, the setting application instructs the host OS to execute a search for an external access point (external AP). If the execution of the search for the external AP is instructed, a "Next" button 401 is displayed on the operation display unit 108. Figure 4B The search screen is shown.
[0083] In S103, upon receiving an instruction to search for an external AP from the setting application, the host OS performs a search for a nearby external AP. In S104, the host OS notifies the setting application of information (search result) of the found external AP as a result of the search for the external AP. For example, the information of the external AP is an SSID. For example, in S104, the information of the external AP found first is notified to the setting application.
[0084] In S105, the setting application determines whether a predetermined AP has been found based on the search result notified from the host OS. The predetermined AP is a set access point, and the setting application recognizes a character string for identifying the set access point in advance. In this example, it is assumed that it is determined that the predetermined AP has been found.
[0085] In S106 , the setting application displays an operation guidance screen on the OS screen to be displayed next, the operation guidance screen being used to display guidance on operations to be performed by the user. Figure 4C FIG. 4 is a diagram showing an example of the operation guidance screen displayed in S106. Figure 4C As shown, on the operation guidance screen, "When a printer is detected on the next screen, please perform the connection operation" is displayed, and a dialog box including a message 403 for prompting an operation on the OS screen is displayed. Note that the dialog box including the message 403 is displayed in the window displaying the application screen. Therefore, although not shown, the application screen displayed immediately before (for example, Figure 4A4B) is displayed faintly behind the dialog box including the message 403. The dialog box including the message 403 is not a dialog box displayed via the OS standard application, but a dialog box displayed by the setting application. In other words, the text displayed as the message 403 is determined by the setting application. In S107, the setting application accepts the pressing of the "next button 404" on the operation guidance screen, and instructs the host OS to display the OS screen in S108. Then, in S109, the host OS displays an OS screen that can accept an instruction to make a connection with the found external AP through the OS standard application. Figure 4D is a diagram showing an example of an OS screen displayed in S109. Note that the OS screen is displayed in a window displaying an application screen.
[0086] At S110, the application screen is displayed on the background, and the OS screen is displayed on the foreground. More specifically, for example, the OS screen is displayed to overlap with the foreground in the window of the application screen, and the user cannot operate on the application screen. Figure 4D As shown, a message 405 including identification information of the found external AP is displayed on the OS screen. Note that the identification information is, for example, an SSID. In addition, a connect button 406 and a cancel button 407 are displayed on the OS screen and can be pressed by the user. As described above, the OS screen is a dialog box displayed by an OS standard application. In other words, the text displayed as the message 405 and the text displayed on the connect button 406 and the cancel button 407 are determined by the OS standard application.
[0087] In S111, the host OS accepts the pressing of the connection button 406 on the OS screen. In S112, the host OS disconnects the currently connected external AP and connects to the external AP for which the connection instruction has been accepted on the OS screen. In S113, the host OS ends the display of the OS screen.
[0088] On the other hand, in S114, the setting application determines whether the application itself is operating in the first environment or the second environment. More specifically, for example, the setting application uses an application programming interface (API) to inquire the host OS about the operating environment, and makes a determination based on the result of the inquiry. Since it is assumed here that the application is operating in the first environment, it is determined that the setting application is operating in the first environment. The determination process in S114 is Fig. 9 The timing execution is performed after S110, but it can also be performed before S110.
[0089] If the display of the OS screen ends in S113, the host OS returns the application screen to the foreground in S115. Then, in S116, the host OS notifies the setting application that the application screen has returned to the foreground.
[0090] In S117, the setting application inquires the host OS about the connection status of the information processing device 101 with the external AP based on the notification that the application screen has returned to the foreground. In response to the inquiry in S117, the host OS sends the connection status with the external AP to the setting application in S118. The connection status with the external AP is information about the external AP (hereinafter referred to as the connected AP) to which the information processing device 101 is connected, and is, for example, an SSID. If there is no connected AP, information indicating that there is no connected AP is sent as the connection status.
[0091] In S119, the setting application determines whether the connected AP is a predetermined AP. In this example, it is determined whether the connected AP is a set access point. The setting application performs the determination process in S119 based on the known SSID of the set access point. If it is determined that the connected AP is a set access point, then in S120, the setting application performs the network setting process of the communication device 151. At this time, the application screen changes to the screen of the network setting process. This will be referred to later. Fig.11 Describe the network setup process.
[0092] As described above, in the present embodiment, if the information processing apparatus 101 is operating in the first environment, the setting application determines whether the external AP to which the information processing apparatus 101 is connected is a setting access point based on the notification from the host OS that the application screen has returned to the foreground. More specifically, upon receiving the notification from the host OS that the application screen has returned to the foreground, the setting application inquires the host OS of the SSID of the external AP to which the information processing apparatus 101 is connected. Then, if it is determined that the external AP to which the information processing apparatus 101 is connected is a setting access point, the network setting process is performed on the communication apparatus 151.
[0093] Next, a case where the information processing apparatus 101 operates in the above-mentioned second environment will be described. Fig.10 is a sequence diagram showing the sequence processing between the setting application and the guest OS in the second environment. For example, the guest OS is Figure 3B The virtual Android OS shown.
[0094] S201 to S205 and Fig. 9 S101 to S105 are the same and their description will be omitted.
[0095] In S206 , the setting application displays an operation guidance screen for guiding the user on the operation to be performed on the OS screen to be displayed next. Figure 5B FIG. 4 is a diagram showing an example of the operation guidance screen displayed in S206. Figure 5BAs shown, on the operation guidance screen, guidance 503 "When the printer is detected on the next screen, please perform the connection operation" and a "Next" button 504 are displayed. Note that the application screen displayed immediately before is lightly displayed behind the window that displays the guidance 503. In S207, the setting application accepts the pressing of the "Next" button 504 on the operation guidance screen, and instructs the client OS to display the screen in S208.
[0096] In S211, the guest OS displays an OS screen that can accept instructions for making a connection to the found external AP through an OS standard application. If the information processing device 101 operates in the second environment, the OS screen is displayed in parallel with the window of the application screen in a window different from the window of the application screen (in this example, the operation guidance screen). Fig. 8A The OS screen 803 shown is an example of the OS screen displayed in S211. Fig. 8A As shown, a message including identification information of the found external AP is displayed on the OS screen 803. Note that the identification information is, for example, the SSID. In addition, a connect button 804 and a cancel button 805 are displayed on the OS screen 803 and can be pressed by the user. Upon accepting the pressing of the connect button 804 on the OS screen 803 in S216, the client OS disconnects the currently connected external AP in S217 and performs a connection with the following external AP, for which the connection instruction has been accepted on the OS screen. In S218, the client OS ends the display of the OS screen 803.
[0097] On the other hand, in S209, the setting application determines whether the application itself operates in the first environment or the second environment. More specifically, for example, the setting application uses an API to inquire the client OS about the operating environment, and makes a determination based on the result of the inquiry. Since it is assumed here that the application operates in the second environment, it is determined that the setting application operates in the second environment.
[0098] In S212, the setting application controls the currently displayed application screen to not accept user operations. Note that the currently displayed application screen is more specifically an operation guidance screen. Hereinafter, this control will be referred to as screen lock. FIG. 8A to FIG. 8C , each showing an example of a display form of a control application screen. More specifically, for example, Fig. 8AAs shown, the setting application displays a dialog box 801 on the operation guidance screen to provide guidance to the user on the operation to be performed on a screen other than the application screen. For example, by displaying a dialog box in the foreground of the window of the application screen, such as "Please click "Connect" on the displayed screen", to present the operation to be performed on the OS screen displayed in a window different from the window of the application screen, the user operation cannot be accepted on the operation guidance screen. Note that even if the dialog box 801 is operated, the setting application will not perform any operation. For example, Figure 8B As shown, by changing the color tone of the entire application screen 806 (for example, making the entire application screen 806 gray), it can be indicated that no user operation can be performed. Or, for example, as Figure 8C As shown, any user operation cannot be accepted by changing the color tones of button 807 and button 808 (e.g., graying out button 807 and button 804) on the application screen displayed immediately before guide 503. For example, button 808 is a link for displaying a Web manual, and is originally a button that is not expected to be pressed by the user when the application is in the OS processing standby state.
[0099] In the case where the information processing device 101 operates in the first environment, the OS screen is superimposed and displayed on the application screen, so the user cannot operate on the application screen. On the other hand, in the case where the information processing device 101 operates in the second environment, the OS screen is displayed in a window different from the window displaying the application screen, and the window displaying the application screen and the window displaying the OS screen are displayed in parallel. Therefore, although the OS screen is displayed and an operation is to be performed on the OS screen, the user can press any button on the application screen. However, the setting application is not constructed by assuming that the user operation is accepted at a timing in the external AP connection standby state (i.e., the OS processing standby state) when the OS screen is displayed. Therefore, if an unexpected user operation is accepted at this timing, the "external AP connection standby" state of the setting application is canceled, and the subsequent network setting process cannot be started. In order to cope with this situation, in the present embodiment, the acceptance of unexpected user operations can be prevented by performing display control of the application screen so that the user operation cannot be accepted.
[0100] Note that the control performed in S212 is not limited to the above-described form. For example, the operation guidance screen is still displayed on the foreground without displaying the dialog box 801, but such control can be performed so that even if an operation is performed on the operation guidance screen, the setting application does not perform any processing. That is, more specifically, for example, such control can be performed so that even if the "Next" button 504 is pressed, the setting application does not perform any processing. Or, for example, control can be performed by graying out the "Next" button 504 without displaying the dialog box 801 so as not to accept user operations on the operation guidance screen.
[0101] In S213, the setting application inquires the client OS about the connection status of the information processing device 101 and the external AP. In response to the inquiry in S213, the client OS sends the connection status with the external AP to the setting application in S214. The connection status with the external AP is information about the external AP (connected AP) connected to the information processing device 101, and is, for example, an SSID. If there is no connected AP, information indicating that there is no connected AP is sent as the connection status. In S215, the setting application determines whether the connected AP is a predetermined AP. In this example, it is determined whether the connected AP is a set access point. Based on the known SSID of the set access point, the setting application performs the determination process in S215. Note that if there is no connected AP, information indicating that there is no connected AP is sent to the setting application in S214.
[0102] In this embodiment, the processing of S213 to S215 is performed at predetermined time intervals. More specifically, for example, the processing of S213 to S215 is performed at intervals of 100 ms within a specific time (for example, 30 seconds). As described above, in the second environment, the client OS Fig. 9 Since no notification is sent in S116, the query in S213 is repeated for the guest OS.
[0103] exist Fig.10 In the process of S213 to S215, the processing is performed at the timing before S216, the timing between S216 and S217, and the timing between S217 and S218. If the processing of S213 to S215 is performed before S216, the information processing device 101 has not yet been connected to the external AP in S215, so it is determined that the connected AP is not the set access point. In this case, the processing of S213 to S215 is repeated. If the processing of S213 to S215 is performed at the timing between S216 and S217, the information processing device 101 has not yet been connected to the external AP in S215, so it is determined that the connected AP is not the set access point. In this case, the processing of S213 to S215 is repeated. If the processing of S213 to S215 is performed at the timing between S217 and S218, the information processing device 101 has been connected to the external AP in S215. Therefore, it is determined that the connected AP is the set access point, and the processing proceeds to S219.
[0104] In S219, the setting application cancels the display control in S212, and executes the network setting process of the communication device 151 in S220. At this time, the setting application controls the currently displayed application screen to accept the user operation. More specifically, for example, the setting application ends FIG. 8A to FIG. 8C The application screens shown in each of the above are displayed, and the network setting processing screen is displayed. Fig.11 Describe the network setup process.
[0105] As described above, in the present embodiment, if the information processing apparatus 101 is operated in the second environment, the setting application displays the operation guidance on the OS screen, and then performs display control of the application screen so as not to accept user operations. This can prevent a situation where an unexpected user operation is accepted and thus the network setting process cannot be started. After performing the display control, the setting application inquires the client OS about the external AP connected to the information processing apparatus 101 at predetermined time intervals. Therefore, even in a configuration in which a notification that the application screen has returned to the foreground is not received from the OS, the subsequent network setting process can be started.
[0106] Fig.11 : is a flowchart showing the network setting process executed in S120 and S220. Fig.11 The illustrated processing is executed as processing of setting an application, and is realized when the CPU 103 reads out a program stored in the ROM 104 into the RAM 105 and executes the program.
[0107] In step S301 , the CPU 103 requests a list of access points (access point list) from the communication device 151 via the Wi-Fi connection between the information processing device 101 and the communication device 151 operating in the network setting mode.
[0108] In step S302, the CPU 103 acquires an access point list via a Wi-Fi connection between the information processing device 101 operating in the network setting mode and the communication device 151. Note that the acquired access point list is a list indicating one or more access points connectable to the communication device 151 that have been found by the communication device 151 performing an AP search.
[0109] In step S303, the CPU 103 determines whether the access point list acquired in step S302 includes a connected AP to which the information processing device 101 is connected. The connected AP is, for example, information of the AP stored in S101 or S201. Since the access point list acquired in step S302 includes only access points connectable to the communication device 151, the case where the acquired list includes the connected AP is the case where the communication device 151 is connectable to the connected AP. The case where the acquired list does not include the connected AP is the case where the communication device 151 is not connectable to the connected AP. For example, since an access point connectable by an encryption method that does not correspond to the communication device 151 is not connectable to the communication device 151, the access point is not included in the list. Since an access point connectable by a frequency band that does not correspond to the communication device 151 is not connectable to the communication device 151, the access point is not included in the list. If it is determined in step S303 that the connected AP is not included, the process proceeds to step S306.
[0110] In step S306, the CPU 103 displays the list acquired in step S302, and in step S307 accepts a user's selection of one of the access points in the list. Figure 6B FIG. 4 is a diagram showing an example of a screen displayed in step S306. Figure 6B Then, the CPU 103 determines the access point whose selection has been accepted from the user as the connection destination AP of the communication device 151.
[0111] In step S308 , the CPU 103 displays a screen for accepting input of a password for connecting to the access point whose selection has been accepted from the user. Figure 6C FIG. 4 is a diagram showing an example of a screen displayed in step S308. Figure 6C As shown, an area for accepting password input is displayed on screen 604.
[0112] In step S309, the CPU 103 sends connection information including the password whose input has been accepted in step S308. Note that the connection information is information for connecting to an access point and includes, for example, an SSID and a password. After sending the connection information, the CPU 103 displays a Fig.6D A screen indicating that connection with a device is in progress is shown. The communication device 151 notifies the information processing device 100 that connection information has been received via a Wi-Fi connection between the information processing device 101 and the communication device 151 operating in the network setting mode. Then, the communication device 151 attempts to make a connection to an access point corresponding to the connection information using the connection information received from the information processing device 101. If the connection is successful, the communication device 151 can perform communication via a network formed by the connected access point.
[0113] In step S310, the CPU 103 connects to the access point. In step S310, for example, the application is set to use Fig. 9 S101 or Fig.10 The CPU 103 reconnects to the access point to which the information processing device 101 has been connected, based on the connection information stored in S201. Please note that the present invention is not limited to this form. For example, if the information processing device 101 sends connection information of another access point different from the access point to which the information processing device 101 has been connected via Wi-Fi to the communication device 151, the CPU 103 can connect to the other access point.
[0114] In step S311, the CPU 103 searches for the communication device 151 on the network to which the own device belongs, determines whether the communication device 151 has been found, and determines whether the network setting process has succeeded based on the determination result. Note that the network to which the own device belongs is the network of the access point connected in step S310. If it is determined that the communication device 151 has been found and therefore it is determined that the network setting process has succeeded, the process proceeds to step S312.
[0115] In step S312, the CPU 103 requests the communication device 151 for capability information. The communication device 151, upon receiving the request from the information processing device 101, transmits the capability information to the information processing device 101. The CPU 103 registers the information of the communication device 151 in the setting application, and can transmit the print job to the communication device 151 through the setting application. Note that at this time, if the information processing device 101 belongs to a network formed by an access point to which the communication device 151 is connected by the network setting process, the information processing device 101 can perform communication with the communication device 151 via the access point. Note that if the information processing device 101 and the communication device 151 cannot communicate with each other, for example, if the access point to which the communication device 151 is connected is not the access point to which the information processing device 101 is connected, the request and acquisition of the capability information are omitted. Note that, for example, a communication protocol different from the setting communication protocol may be used for the communication in step S312.
[0116] In step S313, the CPU 103 displays the application basic screen. Fig. 7A As shown, the information (IP address, etc.) of the communication device 151 registered in step S312 is displayed on the displayed application basic screen. If it is determined in step S311 that the network setting process has failed, the CPU 103 displays the application basic screen in step S313. Figure 7B : is a diagram showing an example of a displayed application basic screen. Figure 7B The screen shown is the same as Fig. 7AThe difference is that the information of the communication device 151 is not displayed.
[0117] Returning to step S303, if it is determined in step S303 that the connected AP is included, the process proceeds to step S304.
[0118] In step S304, the CPU 103 displays a message indicating that connection with the connected AP is to be made. Fig. 6A 6 is a diagram showing an example of a message screen displayed in step S304. That is, at this time, the screen is a screen for prompting the user to confirm the connection, and a message 601 including information of the connected AP is displayed on the screen.
[0119] In step S305, the CPU 103 determines whether an instruction to connect to the connected AP has been accepted. Fig. 6A If the "Yes" button 602 is pressed on the screen shown in FIG. 10A , it is determined that the instruction to connect to the connected AP is accepted. In this case, the process proceeds to step S308 described above, and the CPU 103 displays a screen for accepting input of a password for connecting to the connected AP. On the other hand, if the "Yes" button 602 is pressed on the screen shown in FIG. Fig. 6A If "No" button 603 is pressed on the screen shown, it is determined that the instruction to connect to the connected AP is not accepted. In this case, the process proceeds to step S306 described above, and the CPU 103 displays the list acquired in step S302.
[0120] The following will refer to Fig.12 and Fig.13 Description used to implement Figures 9 to 11 For example, when the CPU 103 reads the program stored in the ROM 104 into the RAM 105 and executes the program, the Fig.12 and Fig.13 Processing shown.
[0121] In step S401, the CPU 103 displays a user operation instruction screen on the operation display unit 108. The processing in step S401 corresponds to Fig. 9 S101 and Fig.10 In step S402, the CPU 103 instructs the OS to perform a search for an external access point (external AP). When the information processing apparatus 101 operates in the first environment, the OS is the host OS, and when the information processing apparatus 101 operates in the second environment, the OS is the guest OS. The processing in step S402 corresponds to Fig. 9 S102 and Fig.10 The processing in S202.
[0122] In step S403, the CPU 103 acquires the information (search result) of the found external AP which has been notified from the OS. The processing in step S403 corresponds to Fig. 9 S104 and Fig.10 In the case where the information processing apparatus 101 operates in the first environment, the OS is a host OS, and in the case where the information processing apparatus 101 operates in the second environment, the OS is a guest OS.
[0123] In step S404, the CPU 103 determines whether a predetermined AP has been found based on the search result notified from the OS. More specifically, for example, it is determined whether the search result notified from the OS includes a character string for setting an access point. The processing in S404 corresponds to Fig. 9 S105 and Fig.10 In the case where the information processing apparatus 101 operates in the first environment, the OS is the host OS, and in the case where the information processing apparatus 101 operates in the second environment, the OS is the guest OS. If it is determined that the predetermined AP is not found, the process proceeds to Fig.11 Step S313. Figure 7B 3 is a diagram showing an example of an application basic screen displayed in step S313 when it is determined that a predetermined AP is not found. Figure 7B As shown, on the application basic screen, buttons such as "Print" and "Scan" are displayed, each of which can accept an instruction of a function executable by the communication device 151. On the other hand, if it is determined that the predetermined AP has been found, the process proceeds to step S405.
[0124] In step S405, the CPU 103 displays an operation guide screen on the operation display unit 108 for guiding the operation to be performed by the user on the OS screen to be displayed next. The processing in step S405 corresponds to Fig. 9 S106 and Fig.10 The processing in S206.
[0125] In step S406, the CPU 103 determines whether the "Next" button on the operation guidance screen is pressed. More specifically, for example, it is determined whether Figure 4C Button 404 or Figure 5B If it is determined that the "Next" button has not been pressed, for example, if a timeout has occurred, the process proceeds to Fig.11 In this case, the display Figure 7B On the other hand, if it is determined that the "Next" button is pressed, the process proceeds to step S407.
[0126] In step S407, the CPU 103 instructs the OS to display the OS screen. The processing in step S407 corresponds to Fig. 9 S108 and Fig.10 In the case where the information processing device 101 operates in the first environment, the OS is the host OS, and in the case where the information processing device 101 operates in the second environment, the OS is the guest OS. If the information processing device 101 operates in the first environment, the OS screen is displayed on the foreground and the application screen is displayed on the background. Alternatively, if the information processing device 101 operates in the second environment, the OS screen is displayed in parallel with the window of the application screen in a window different from the window of the application screen. In this case, the application screen is still displayed on the foreground.
[0127] In step S408, the CPU 103 determines whether the setting application is operating in the first environment or the second environment. The processing in step S408 corresponds to Fig. 9 S114 and Fig.10 For example, the CPU 103 may obtain information from the OS whether the environment is a virtual environment, and determine whether the setting application is operating in the first environment or the second environment based on the information. If it is determined that the setting application is operating in the first environment, the processing proceeds to step S409. If it is determined that the setting application is operating in the second environment, the processing proceeds to step S421.
[0128] In step S409, the CPU 103 determines whether the application screen has returned to the foreground. More specifically, for example, it is determined whether a notification that the application screen has returned to the foreground is received from the host OS. The processing in step S409 is repeated until it is determined that the application screen has returned to the foreground. If it is determined that the application screen has returned to the foreground, the processing proceeds to step S410.
[0129] In step S410, the CPU 103 inquires the host OS about the connection status between the information processing apparatus 101 and the external AP. The processing in step S410 corresponds to Fig. 9 In step S411, the CPU 103 obtains the connection status with the external AP from the host OS. The processing in step S411 corresponds to Fig. 9 The processing in S118.
[0130] In step S412, the CPU 103 determines whether the connected AP is a predetermined AP. More specifically, for example, it determines whether the connected AP is a set access point. The processing in step S412 corresponds to Fig. 9 If it is determined that the connected AP is not the predetermined AP, the process proceeds to step S414. The case where the process proceeds to step S414 is, for example, Figure 4D The process in step S412 is a process for confirming whether the connection between the predetermined access point and the information processing device 101 is established.
[0131] In step S414 , the CPU 103 displays, on the operation display unit 108 , a message screen for prompting connection on the Wi-Fi setting screen of the OS standard. Figure 5A 5 is a diagram showing an example of a message screen displayed in step S414. On the message screen 501, a button 502 for displaying the OS standard Wi-Fi setting screen is displayed. When the button 502 is pressed, the OS standard Wi-Fi setting screen (not shown) is displayed, the process returns to step S407, and the CPU 103 instructs the host OS to display the OS screen. At this time, the application screen may be displayed on the background, and the screen display may end. Fig.12 The processing shown may end, and another processing may be performed. If it is determined in step S412 that the connected AP is a predetermined AP (in this example, a set access point), the processing proceeds to step S413, and performs Fig.11 Processing shown.
[0132] If it is determined in step S408 that the setting application is operating in the second environment, the CPU 103 performs display control of the currently displayed application screen in step S421 so as not to accept user operations. The processing in step S421 corresponds to Fig.10 The processing in S212.
[0133] In step S422, the CPU 103 inquires the guest OS about the connection status between the information processing apparatus 101 and the external AP. The processing in step S422 corresponds to Fig.10 In step S423, the CPU 103 obtains the connection status with the external AP from the guest OS. The processing in step S423 corresponds to Fig.10 In other words, the processing in step S422 is a processing for confirming whether the connection between the predetermined access point and the information processing device 101 is established.
[0134] In step S424, the CPU 103 determines whether the connected AP is a predetermined AP. More specifically, for example, it determines whether the connected AP is a set access point. The processing in step S424 corresponds to Fig.10If it is determined that the connected AP is the predetermined AP, the process proceeds to step S425. In other words, the process in step S424 is a process for confirming whether the connection between the predetermined access point and the information processing device 101 is established.
[0135] In step S425, the CPU 103 cancels the display control in step S421. More specifically, for example, FIG. 8A to FIG. 8C The display of each application screen shown in is completed. After that, the processing proceeds to Fig.11 Step S301, and execute Fig.11 The network setting process screen displayed at this time is a screen that can accept user operations. If it is determined in step S424 that the connected AP is not a predetermined AP, the process proceeds to step S426.
[0136] In step S426, CPU 103 stands by for a predetermined time via a timer. More specifically, for example, CPU 103 stands by for 100ms. Then, in step S427, CPU 103 determines whether a timeout has occurred. More specifically, for example, CPU 103 determines whether 30 seconds have passed since the first execution of the processing in step S422. If it is determined in step S427 that no timeout has occurred, the processing is repeated starting from step S422. That is, in the present embodiment, unlike the processing in the first environment, in the processing in the second environment, the processing of inquiring the OS about the connection status between the information processing device 101 and the external AP is performed based on the elapsed time, without receiving a notification from the OS that the application screen has returned to the foreground. On the other hand, if it is determined that a timeout has occurred, CPU 103 cancels the display control in step S421 in step S428. More specifically, for example, FIG. 8A to FIG. 8C The display of each application screen shown in is completed. In step S429, the CPU 103 displays a message screen for prompting the connection on the Wi-Fi setting screen of the OS standard on the operation display unit 108. Figure 5C 5 is a diagram showing an example of a message screen displayed in step S429. On the message screen 510, a button 511 for displaying the OS standard Wi-Fi setting screen is displayed. When the button 511 is pressed, the OS standard Wi-Fi setting screen (not shown) is displayed, the process returns to step S407, and the CPU 103 instructs the host OS to display the OS screen. At this time, the application screen may end. Or, Fig.12 The illustrated process may end and another process may be performed.
[0137] As described above, according to the present embodiment, if the information processing apparatus 101 is operated in the second environment, the setting application displays the operation guidance on the OS screen, and then performs display control of the application screen so as not to accept user operations. This can prevent a situation where an unexpected user operation is accepted and thus the network setting process cannot be started. After performing the above display control, the setting application inquires the client OS about the external AP connected to the information processing apparatus 101 at predetermined time intervals. Therefore, even in a configuration in which a notification that the application screen has returned to the foreground is not received from the client OS, the subsequent network setting process can be started.
[0138] [Second embodiment]
[0139] The second embodiment will be described below with respect to the points that are different from the first embodiment. In the first embodiment, the following form has been described: when the information processing device 101 operates in the second environment, the application screen and the OS screen are displayed in multiple windows, and thus the display control of the application screen in S212 and S213 to S215 for the client OS is repeated. However, as long as the application screen and the OS screen are displayed in multiple windows, the problem described in the first embodiment may similarly occur. For example, even if the information processing device 101 operates in the first environment, if the housing of the information processing device is foldable and includes multiple display screens, the same problem may occur. For example, the information processing device 101 is a portable terminal in which the operation display unit 108 is as follows: the portable terminal is formed by two displays to be foldable.
[0140] In the case where two displays are set as display 1 and display 2 and the operation of the first embodiment is applied, for example, when the "Next" button is pressed in a state where the operation guidance screen of the OS is displayed on display 1, the OS screen is displayed in a window different from the window of the application screen on display 2. That is, even if the information processing device 101 including a plurality of displays has the first environment, it can display a plurality of windows in parallel. That is, in the case where the application screen waits for the processing result of the OS, the application screen can accept an unexpected user operation. Since the application screen is still displayed in the foreground, the notification in S116 is not received from the host OS, and the subsequent network setting process can be started.
[0141] Therefore, in the present embodiment, even if the information processing apparatus 101 operates in the first environment, if the information processing apparatus 201 has a predetermined configuration including a plurality of displays as described above, the execution Fig.10 This prevents unintended user operations from being accepted on the application screen, allowing the network setting process to start.
[0142] Fig.141 is a flowchart showing a part of the process of setting an application according to the present embodiment. For example, when the CPU 103 reads out the program stored in the ROM 104 into the RAM 105 and executes the program, the Fig.14 Processing shown.
[0143] In this embodiment, Fig.12 The processing in step S501 is performed between step S407 and step S409. That is, if it is determined in step S408 that the setting application operates in the first environment, the CPU 103 determines in step S501 whether the information processing device 101 has a predetermined configuration. In this example, the predetermined configuration is, for example, a configuration in which the housing of the information processing device 101 is foldable and includes a plurality of display screens. The CPU 103 can use an API to obtain device configuration information from the host OS, and determine based on the information whether the information processing device 101 has a predetermined configuration. If it is determined that the information processing device 101 does not have a predetermined configuration, the processing proceeds to Fig.12 On the other hand, if it is determined that the information processing apparatus 101 has a predetermined configuration, the process proceeds to step S409. Fig.13 Step S421.
[0144] As described above, according to this embodiment, if the housing of the information processing device 101 is foldable and includes a plurality of display screens, the same processing as that in the case of the second environment described in the first embodiment is performed. This can prevent a situation where an unexpected user operation is accepted and the network setting process cannot be started.
[0145] The above-mentioned various embodiments have explained an example of displaying an OS screen for connecting the communication device 151 to an external AP. However, the screen that can be displayed by a window different from the window of the application screen is not limited to the OS screen. That is, as long as the application temporarily transfers the processing to another software and then performs subsequent processing when the software returns to the processing, the operation of each embodiment is applicable. Then, the above-mentioned various embodiments have explained the following form: at the timing when the OS screen for connecting the communication device 151 to the external AP is displayed by a window different from the window displaying the application screen, execution control is performed so that the user operation is not performed on the application screen. However, the timing of the processing of executing the execution control of performing the user operation on the application screen is not limited to the above-mentioned form.
[0146] For example, suppose the application can display Fig.8DThe application screen 809 shown. It is also assumed that the pressing of the button for the cloud photo service on the application screen 809 can be accepted, and the web browser screen related to the cloud photo service is displayed. The web browser screen is, for example, a screen for accepting the following operations: an operation of selecting one of the plurality of cloud photo services, an operation of logging into the selected cloud photo service, and an operation of selecting a print target image from a plurality of images managed by the cloud photo service after logging in. In this configuration, if the operating environment of the application is the first environment, when the pressing of the button for the cloud photo service on the application screen is accepted, the web browser is started to display the web browser screen in a window different from the window of the application screen 809. However, since only one window is displayed at a time in the first environment, the web browser screen is displayed in the foreground, and the application screen is displayed in the background. Then, if the web browser screen is closed when the above-mentioned operation is completed on the web browser screen, the application screen returns to the foreground, and the application performs subsequent processing based on the returned notification. More specifically, the subsequent processing is, for example, processing for printing the print target image selected on the web browser screen, and processing for previewing the displayed image and sending a print job for printing the image to the communication device 151. However, if the operating environment of the application is the second environment, when the button for the cloud photo service is pressed on the application screen 809, the web browser screen 810 is displayed in a window different from the window of the application screen, and the window displaying the application screen and the window displaying the web browser screen 810 are displayed in parallel, thereby similarly causing the problem described in the first embodiment. For example, in a state where the button for the cloud photo service is pressed on the application screen 809 and the web browser screen 810 is displayed in multiple windows, the button for the cloud storage service can be accepted on the application screen. If the button for the cloud storage service is accepted in this state, the authentication standby state of the cloud photo service of the application is canceled unintentionally, so that subsequent processing cannot be performed. In addition, since a notification that the application screen has returned to the foreground is not sent, subsequent processing cannot be started. Therefore, in a state where the web browser screen 810 is displayed in the second environment, the processing of performing control so as not to perform user operations on the application screen, which has been described in S212, can be performed. By applying such an operation, even in a configuration in which a window displaying the application screen 809 and a window displaying the Web browser screen 810 are displayed in parallel, it is possible to prevent an unexpected user operation from being accepted on the application screen. Even if a notification that the application screen has returned to the foreground is not sent, subsequent processing can be started. Note that the state in which the processing already described in S212 is performed to perform control so that the user operation is not performed on the application screen does not need to be the state in which the Web browser screen 810 is displayed in the second environment.That is, the state in which the process is executed only needs to be a state in which a screen is displayed by a program different from the setting application in the second environment, and may be a state in which a screen other than the Web browser screen 810 is displayed.
[0147] Other embodiments
[0148] The embodiments of the present invention may also be implemented by reading and executing computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be more completely referred to as a "non-transitory computer-readable storage medium") to perform one or more functions in the above-mentioned embodiments, and / or a computer of a system or device including one or more circuits (e.g., an application-specific integrated circuit (ASIC)) for performing one or more functions in the above-mentioned embodiments, and the embodiments of the present invention may be implemented by, for example, reading and executing the computer executable instructions from the storage medium by the computer of the system or device to perform one or more functions in the above-mentioned embodiments, and / or controlling the one or more circuits to perform one or more functions in the above-mentioned embodiments. The computer may include one or more processors (e.g., a central processing unit (CPU), a microprocessing unit (MPU)), and may include a network of separate computers or separate processors to read and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, a hard disk, a random access memory (RAM), a read-only memory (ROM), a memory of a distributed computing system, an optical disk (such as a compact disc (CD), a digital versatile disc (DVD), or a Blu-ray disc (BD) TM ), flash memory devices, memory cards, etc.
[0149] The embodiments of the present invention may also be implemented by providing software (program) for performing the functions of the above-described embodiments to a system or device via a network or various storage media, and a computer or a central processing unit (CPU) or a microprocessing unit (MPU) of the system or device reads and executes the program.
[0150] While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments.The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
Claims
1. A non-transitory computer-readable storage medium storing a program capable of operating on an operating system (OS), the program, when executed by one or more processors of a first information processing device, causing the first information processing device to perform a first method, the first information processing device having a first operating environment on a first OS operating as a host OS but not on a guest OS, the first method comprising: instructing the host OS to execute a first process for establishing a connection between a predetermined access point and the first information processing device, and After causing the host OS to display a screen for establishing a connection between the predetermined access point and the first information processing device by instructing the host OS to execute a first process, executing a process of confirming whether to establish a connection between the predetermined access point and the first information processing device based on the fact that the program returns to a state in which the program is operating on the foreground; wherein the program, when executed by one or more processors of a second information processing device, causes the second information processing device to perform a second method, the second information processing device having a second operating environment on a second OS operating as a host OS and on a guest OS, the second method comprising: instructing the guest OS to execute a second process for establishing a connection between the predetermined access point and the second information processing device, and After causing the guest OS to display a screen for establishing a connection between the predetermined access point and the second information processing device by instructing the guest OS to execute the second process, a process of confirming whether a connection between the predetermined access point and the second information processing device is established is executed based on a predetermined time elapsed since the guest OS was instructed to execute the second process.
2. The medium according to claim 1, wherein A screen for establishing a connection between the predetermined access point and the first information processing device, which is displayed by the host OS in the first operating environment, is displayed on the foreground of the screen of the program in the window displaying the screen of the program, or is displayed by a window different from the window displaying the screen of the program.
3. The medium according to claim 1, wherein The second method further includes performing display control so as to not accept an operation on the screen of the program after the guest OS is instructed to execute the second process in the second operating environment.
4. The medium according to claim 3, wherein: In performing the display control, after confirming that the connection between the predetermined access point and the second information processing apparatus is established, a state in which an operation on the screen of the program cannot be accepted is cancelled.
5. The medium according to claim 1, wherein The first method also includes: in a case where establishment of a connection between the predetermined access point and the first information processing device is not confirmed even after the program returns to a state where the program operates in the foreground, notifying a user in a first operating environment that a connection is established between an external access point and the first information processing device using an OS standard function.
6. The medium according to claim 1, wherein The second method also includes: in a second operating environment, notifying a user to establish a connection between an external access point and the second information processing device using an OS standard function, when establishment of a connection between the predetermined access point and the second information processing device is not confirmed even after a specific time longer than the predetermined time has passed.
7. The medium according to claim 1, wherein The first method further includes, after confirming establishment of a connection between the predetermined access point and the first information processing device, transmitting information about an external access point via the connection.
8. The medium according to claim 7, wherein The external access point is one of an access point to which the first information processing device has been connected before the connection between the predetermined access point and the first information processing device is established and an access point selected from an access point list received from a device operating as the predetermined access point via the connection between the predetermined access point and the first information processing device.
9. The medium according to claim 1, wherein The second method further includes, after confirming establishment of a connection between the predetermined access point and the second information processing device, transmitting information about an external access point via the connection.
10. The medium according to claim 9, wherein The external access point is one of an access point to which the second information processing device has been connected before the connection between the predetermined access point and the second information processing device is established and an access point selected from an access point list received from a device operating as the predetermined access point via the connection between the predetermined access point and the second information processing device.
11. The medium according to claim 9, wherein The external access point is an access point selected from an access point list received from a device operating as the predetermined access point via a connection between the predetermined access point and the second information processing device.
12. The medium according to claim 1, wherein The first method and the second method further include: determining whether the environment in which the program is operating is the first operating environment or the second operating environment, and Control is performed to execute which of the following processes: a process of confirming whether to establish a connection between the predetermined access point and the first information processing device and a process of confirming whether to establish a connection between the first access point and the second information processing device, based on a determination result in the determination.
13. The medium according to claim 12, wherein: In a case where it is determined that the environment in which the program is operating is the first operating environment, control is performed to execute a process of confirming whether a connection between the predetermined access point and the first information processing apparatus is established.
14. The medium according to claim 13, wherein The first method further includes: in a case where it is determined that the environment in which the program is operating is the first operating environment, determining whether the first information processing device is an information processing device having a predetermined configuration as a foldable portable terminal including a plurality of displays, In a case where it is determined that the first information processing device is an information processing device having the predetermined configuration, control is performed to execute: a process of confirming whether a connection between the predetermined access point and the second information processing device is established, and In a case where it is determined that the first information processing device is not an information processing device having the predetermined configuration, control is performed to execute a process of confirming whether a connection between the predetermined access point and the first information processing device is established.
15. The medium according to claim 1, wherein The host OS in the first operating environment is Android OS, the host OS in the second operating environment is Chrome OS, and the guest OS in the second operating environment is a virtual Android OS.
16. The medium according to claim 1, wherein The predetermined access point is an access point enabled by a printer external to the first information processing apparatus and the second information processing apparatus.
17. The medium of claim 1, wherein the program is an application program.
18. The medium according to claim 1, wherein The first method and the second method further include: transmitting at least one of a print job for causing the communication device to execute printing and a scan job for causing the communication device to execute scanning to the communication device.
19. The medium according to claim 18, wherein The communication device is a device that has enabled the predetermined access point.
20. A method of controlling a first information processing device and a second information processing device, the first information processing device having a predetermined program capable of operating on an operating system (OS) and having a first operating environment on a first OS operating as a host OS but not on a guest OS, and the second information processing device having the predetermined program and having a second operating environment on a second OS operating as a host OS and on a guest OS, the method comprising: instructing the host OS to execute a first process for establishing a connection between a predetermined access point and the first information processing device through the predetermined program in the first information processing device; After the host OS is caused to display a screen for establishing a connection between the predetermined access point and the first information processing device by instructing the host OS to execute a first process, the predetermined program in the first information processing device executes a process of confirming whether to establish a connection between the predetermined access point and the first information processing device based on the fact that the predetermined program returns to a state in which the predetermined program is operating on the foreground; instructing the guest OS to execute a second process for establishing a connection between the predetermined access point and the second information processing device through the predetermined program in the second information processing device; as well as After the guest OS displays a screen for establishing a connection between a predetermined access point and the second information processing apparatus by instructing the guest OS to execute the second process, a process of confirming whether to establish a connection between the predetermined access point and the second information processing apparatus is executed based on a predetermined time elapsed since the guest OS was instructed to execute the second process, by a predetermined program in the second information processing apparatus.
21. A program product storing a program capable of operating on an operating system (OS), the program, when executed by one or more processors of a first information processing device, causing the first information processing device to perform a first method, the first information processing device having a first operating environment on a first OS operating as a host OS but not on a guest OS, the first method comprising: instructing the host OS to execute a first process for establishing a connection between a predetermined access point and the first information processing device, and After causing the host OS to display a screen for establishing a connection between the predetermined access point and the first information processing device by instructing the host OS to execute a first process, executing a process of confirming whether to establish a connection between the predetermined access point and the first information processing device based on the fact that the program returns to a state in which the program is operating on the foreground; wherein the program, when executed by one or more processors of a second information processing device, causes the second information processing device to perform a second method, the second information processing device having a second operating environment on a second OS operating as a host OS and on a guest OS, the second method comprising: instructing the guest OS to execute a second process for establishing a connection between the predetermined access point and the second information processing device, and After causing the guest OS to display a screen for establishing a connection between the predetermined access point and the second information processing device by instructing the guest OS to execute the second process, a process of confirming whether a connection between the predetermined access point and the second information processing device is established is executed based on a predetermined time elapsed since the guest OS was instructed to execute the second process.
Citation Information
Patent Citations
Mobile communication terminal
JP2013240011A