Information processing device, control method, and program

The program enhances the usability of application programs by using the operating system's file sharing function to acquire and transmit connection information, including passwords, addressing password management challenges in connecting communication devices to access points.

JP2026054066APending Publication Date: 2026-03-26CANON KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-13
Publication Date
2026-03-26

AI Technical Summary

Technical Problem

Existing application programs face usability issues when transmitting information for connecting communication devices to access points, particularly with respect to managing passwords.

Method used

A program that includes a first application program to acquire and transmit connection information, including passwords, via the file sharing function of the operating system, allowing communication with a communication device.

Benefits of technology

Improves the usability of application programs in connecting communication devices to access points by simplifying password management and reducing errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026054066000001_ABST
    Figure 2026054066000001_ABST
Patent Text Reader

Abstract

To improve the usability of application programs. [Solution] A program including a first application program for communicating with a communication device, which causes a computer of an information processing device having an operating system to execute: an acquisition step in which the first application program acquires a password for an access point outside the information processing device and outside the communication device, which is managed by a second application program different from the first application program, via the file sharing function of the operating system called by the second application program; and a first transmission step in which the first application program transmits connection information, including the password acquired via the file sharing function of the operating system, to the communication device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus, a control method, and a program.

Background Art

[0002] A form is known in which an information processing apparatus such as a smartphone transmits information for connecting to an access point to a communication apparatus such as a printer, and the communication apparatus uses the information to connect to the access point. Patent Document 1 describes that an information processing apparatus transmits information to a communication apparatus to set a connection mode for determining a connection form between the information processing apparatus and the communication apparatus in the communication apparatus.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] By the way, as the form of transmitting information for connecting a communication apparatus to an access point becomes widespread, it has been desired to improve the usability of an application program that executes processing for transmitting information for connecting a communication apparatus to an access point.

[0005] Therefore, an object of the present invention is to improve the usability of an application program that executes processing for transmitting information for connecting a communication apparatus to an access point with respect to a password.

Means for Solving the Problems

[0006] The present invention is a program including a first application program for communicating with a communication device, characterized in that it causes a computer of an information processing device having an operating system to execute an acquisition step in which the first application program acquires a password for an access point outside the information processing device and the communication device, which is managed by a second application program different from the first application program, via the file sharing function of the operating system called by the second application program; and a first transmission step in which the first application program transmits connection information, including the password acquired via the file sharing function of the operating system, to the communication device. [Effects of the Invention]

[0007] According to the present invention, the usability of an application program that performs processing to transmit information for connecting a communication device to an access point can be improved with respect to passwords. [Brief explanation of the drawing]

[0008] [Figure 1] This is a diagram showing an example of a communication system. [Figure 2] This figure shows an example of the configuration of terminal equipment and communication equipment. [Figure 3] This figure shows an example of the configuration of an application archive. [Figure 4] This figure shows an example of a screen for direct connection. [Figure 5] This figure shows an example of a password entry screen. [Figure 6] This figure shows an example of a screen for password confirmation. [Figure 7] This flowchart shows an example of a process performed by a terminal device using the first application. [Figure 8] This figure shows an example of a confirmation screen. [Figure 9]This diagram shows an example of the display screen of a password management application on a terminal device. [Figure 10] This flowchart shows an example of a process performed by a terminal device using Share Extension. [Figure 11] This figure shows an example of a terminal device display screen. [Figure 12] This flowchart shows an example of a process performed by a terminal device using the first application. [Figure 13] This flowchart shows an example of a process performed by a terminal device using the first application. [Figure 14] This figure shows an example of a terminal device display screen. [Modes for carrying out the invention]

[0009] <First Embodiment> This embodiment describes the information processing device and communication device included in the communication system of this embodiment. The information processing device is also called a terminal device. In this embodiment, a smartphone is used as an example of the information processing device, but it is not limited to this. Various devices can be used as the information processing device, such as a personal computer (PC), tablet terminal, PDA (Personal Digital Assistant), digital camera, etc. In this embodiment, a printer is used as an example of the communication device. The printer may be an inkjet printer that prints using ink, or a laser beam printer that prints using toner. The printer may also be a full-color printer capable of color printing, or a monochrome printer that is not capable of color printing but is capable of monochrome printing. In this embodiment, the communication device is not limited to a printer; any device capable of wireless communication with the information processing device can be used as the communication device. Examples of communication devices that can be used include photocopiers, facsimile machines, scanners, smartphones, PCs, tablet terminals, PDAs, digital cameras, music playback devices, televisions, smart speakers, robot vacuum cleaners, automatic cooking pots, refrigerators, etc. In addition, it can be used with multifunction devices that have multiple functions such as photocopying, faxing, and printing.

[0010] First, the system configuration for realizing this embodiment will be described. Figure 1 is a diagram showing an example of the configuration of the communication system of this embodiment. This system includes a communication device 151, a terminal device 101, an access point (AP) 131, and an external server 171.

[0011] Terminal device 101 is an information processing device of this embodiment. Communication device 151 is a communication device of this embodiment. AP131 is an access point activated by an external device located outside terminal device 101 and outside communication device 151. The external device is, for example, a wireless LAN (Local Area Network) router. External server 171 is a server that can provide services to devices connected to AP131 via the Internet.

[0012] In the situation where the communication device 151 and the terminal device 101 are connected to the AP 131, the LAN formed by the AP 131 includes the AP 131, the communication device 151, and the terminal device 101. On the other hand, the WAN (Wide Area Network) includes the AP 131 and the external server 171.

[0013] In the present embodiment, when the infrastructure connection described later is established, the terminal device 101 can communicate with the communication device 151 via the AP 131. Further, when the direct connection described later is established, the terminal device 101 can communicate directly with the communication device 151 without going through the AP 131. Hereinafter, the connection with the AP corresponds to the connection with the network formed by the AP. Note that one external device may activate a plurality of APs and one external device may be able to form a plurality of networks simultaneously.

[0014] In this embodiment, it is assumed that the connection 141 between the terminal device 101 and the AP 131 and the connection 142 between the communication device 151 and the AP 131 are connections based on a communication method conforming to the IEEE802.11 series of standards. Specifically, the communication method based on the IEEE802.11 series of standards is Wi-Fi (Wireless Fidelity) (registered trademark). Also, it is assumed that the connection 143 between the terminal device 101 and the communication device 151 is also a connection based on a communication method conforming to the IEEE802.11 series of standards. However, the communication method used for the connection 143 is not limited to this form, and for example, Bluetooth (registered trademark) Low Energy (BLE), Bluetooth Classic, Wi-Fi Aware, Near Field Communication (NFC), etc. may be used. The AP 131 and the external server 171 can communicate via the Internet. When the AP 131 is connected to the Internet, the devices (terminal device 101 and communication device 151) connected to the AP 131 can also use the Internet. Note that the connection 141 between the terminal device 101 and the AP 131 and the connection 142 between the communication device 151 and the AP 131 may be connections via a wired LAN.

[0015] Next, the configuration of the information processing device of this embodiment and the communication device capable of communicating with the information processing device of this embodiment will be described with reference to the block diagram of FIG. 2. Also, in this embodiment, the following configuration is described as an example, but this embodiment is applicable to devices capable of communicating with a communication device, and does not particularly limit the functions as shown in this figure.

[0016] The terminal device 101 includes an input interface 102, a CPU 103, a ROM 104, a RAM 105, an external storage device 106, an output interface 107, a display unit 108, a wireless communication unit 109, a short-range wireless communication unit 110, a photographing device 111, a wired communication unit 112, etc. A computer of the terminal device 101 is formed by the CPU 103, the ROM 104, the RAM 105, etc.

[0017] The input interface 102 is an interface for receiving data input and operation instructions from the user, and is composed of a physical keyboard, buttons, touch panel, etc. Alternatively, the output interface 107 (described later) and the input interface 102 may have the same configuration, allowing for screen output and user operation reception using the same configuration.

[0018] The CPU 103 is a system control unit that controls the entire terminal device 101. In this embodiment, the CPU 103 performs control of the display content (display control) on the display unit 108.

[0019] ROM 104 stores fixed data such as control programs executed by CPU 103, data tables, and operating system (hereinafter referred to as OS) programs. In this embodiment, each control program stored in ROM 104 performs software execution control such as scheduling, task switching, and interrupt processing under the management of the embedded OS stored in ROM 104. In this embodiment, ROM 104 stores a predetermined application program (app) for controlling the communication device 151. An application program is, in other words, application software. The predetermined app is installed on the terminal device 101 from an external source, for example, by a store app for installing various apps. The predetermined app is an app provided by the vendor of the communication device 151. In this embodiment, the predetermined app is an app for communicating with the communication device 151 and configuring the connection settings for the communication device 151. Hereinafter, the predetermined app will be referred to as the first app. The first app may have functions other than the function for configuring the connection settings for the communication device 151. Other functions specifically include, for example, a function to send a print job to the communication device 151 to perform printing (print job sending function), and a function to send a scan job to the communication device 151 to perform scanning (scan job sending function). In this embodiment, the processes described as being performed by the OS are, more precisely, processes that the CPU 103 performs according to a program within the OS. Similarly, the processes described as being performed by the application are, more precisely, processes that the CPU 103 performs according to a program within the application.

[0020] RAM 105 consists of SRAM (Static Random Access Memory) and other components that require a backup power supply. Since RAM 105's data is held by a primary battery (not shown) for data backup, important data such as program control variables can be stored without being lost. RAM 105 also includes a memory area for storing configuration information and management data for the terminal device 101. Furthermore, RAM 105 is used as both the main memory and work memory for the CPU 103.

[0021] The external storage device 106 contains various programs, such as a print information generation program that generates print information that can be interpreted by the communication device 151, and an information transmission and reception control program that transmits and receives information with the communication device 151 connected via the wireless communication unit 109. The external storage device 106 also stores various information used by these programs, as well as image data obtained from other information processing devices and the Internet.

[0022] The output interface 107 is an interface that controls the display unit 108 to display data and notify the status of the terminal device 101.

[0023] The display unit 108 is composed of LEDs (light-emitting diodes) and LCDs (liquid crystal displays), and displays data and notifies the status of the terminal device 101. Alternatively, a soft keyboard with keys such as numerical input keys, mode setting keys, select keys, cancel keys, and power keys may be installed on the display unit 108 to accept user input via the display unit 108. In this embodiment, the display unit 108 is a touch panel and can accept user input using a finger, pen, or other control device.

[0024] The wireless communication unit 109 is configured to wirelessly connect to devices such as the communication device 151 and AP 131 to perform data communication. For example, the wireless communication unit 109 may communicate directly with the communication device 151 wirelessly, or it may communicate via AP 131 located outside the terminal device 101 and the communication device 151. In this embodiment, the wireless communication method used by the wireless communication unit 109 is Wi-Fi, which is a communication method based on the IEEE 802.11 standard, but Bluetooth Classic or the like may also be used. In this embodiment, the wireless LAN is defined as a Wi-Fi network. In this embodiment, a connection method in which the terminal device 101 and the communication device 151 are connected directly without going through an external AP is called a direct connection. A connection method in which the terminal device 101 and the communication device 151 are connected via an external AP is called an infrastructure connection.

[0025] The short-range wireless communication unit 110 is configured to perform data communication with devices such as the communication device 151 using a short-range wireless communication method, and communicates using a different communication method than the wireless communication unit 109. The short-range wireless communication unit 110 can connect to the short-range wireless communication unit 157 within the communication device 151. Examples of communication methods for the short-range wireless communication unit 110 include BLE, Bluetooth Classic, Wi-Fi Aware, and NFC.

[0026] The imaging device 111 is a device that converts images captured by the image sensor into digital data. The digital data is first stored in the RAM 105. Then, a program executed by the CPU 103 converts it into a predetermined image format and saves it as image data to the external storage device 106.

[0027] The wired communication unit 112 is configured to connect via a wire to devices such as the communication device 151 and AP131 to perform data communication. For example, the wired communication unit 112 communicates via a wired LAN. In this embodiment, the wired LAN communicates according to the Ethernet standard. However, it is not limited to this configuration, and the wired communication unit 112 may communicate via, for example, a USB (Universal Serial Bus) cable. Also, for example, if the terminal device 101 is a smartphone, the terminal device 101 does not need to have a wired communication unit 112.

[0028] The communication device 151 includes a ROM 152, RAM 153, CPU 154, print engine 155, wireless communication unit 156, short-range wireless communication unit 157, input interface 158, output interface 159, function control unit 160, display unit 161, wired communication unit 162, etc. The computer of the communication device 151 is formed by the ROM 152, RAM 153, CPU 154, etc.

[0029] The wireless communication unit 156 is configured to wirelessly connect to devices such as the terminal device 101 and AP131 to perform data communication. In this embodiment, the wireless communication method used by the wireless communication unit 156 is Wi-Fi, which is a communication method based on the IEEE 802.11 standard, but Bluetooth Classic or the like may also be used. The wireless communication unit 156 has AP156-a as an AP inside the communication device 151 for connecting to devices such as the terminal device 101. This AP can be connected to the wireless communication unit 109 of the terminal device 101. The wireless communication unit 156 may communicate directly with the terminal device 101 via AP156-a, or it may communicate with the terminal device 101 via AP131. Furthermore, AP156-a may be hardware that functions as an AP, or the wireless communication unit 156 may operate as AP156-a through software that functions as an AP. In addition, the communication device 151 may be able to start up multiple APs internally with different SSIDs (Service Set Identifiers) and passwords.

[0030] RAM153 consists of DRAM and other components that require a backup power supply. Since RAM153 retains data through a data backup power supply (not shown), it can store important data such as program control variables without losing them. RAM153 is also used as the main memory and work memory of the CPU154, storing a receive buffer for temporarily saving print information received from terminal devices such as the terminal device 101, as well as various other information.

[0031] ROM 152 stores fixed data such as control programs, data tables, and OS programs executed by the CPU 154. In this embodiment, each control program stored in ROM 152 performs software execution control such as scheduling, task switching, and interrupt handling under the management of the embedded OS stored in ROM 152. ROM 152 also includes a memory area for storing data that needs to be retained even when power is not supplied, such as configuration information and management data for the communication device 151.

[0032] The CPU 154 is the system control unit and controls the entire communication device 151.

[0033] Based on the information stored in the print engine 155 and RAM 153, and print jobs received from terminal devices 101, etc., an image is formed on a recording medium such as paper using a recording material such as ink, and the print result is output. At this time, since the amount of data transmitted from terminal devices 101, etc. is large and high-speed communication is required, the print jobs are received via a wireless communication unit 156 that can communicate at a higher speed than the short-range wireless communication unit 157.

[0034] The short-range wireless communication unit 157 is configured to communicate with devices such as the terminal device 101 using a short-range wireless communication method. Examples of communication methods for the short-range wireless communication unit 157 include BLE, Bluetooth Classic, and Wi-Fi Aware.

[0035] The input interface 158 is an interface for receiving data input and operation instructions from the user, and consists of a physical keyboard, buttons, touch panel, etc. Alternatively, the output interface 159 (described later) and the input interface 158 may have the same configuration, allowing for screen output and acceptance of user operations using the same configuration. The output interface 159 is an interface that controls the display unit 161 for displaying data and notifying the status of the communication device 151.

[0036] The function control unit 160 manages the operation of the functions of the communication device 151, determining whether or not to operate them simultaneously.

[0037] The display unit 161 consists of LEDs (light-emitting diodes) and LCDs (liquid crystal displays), and displays data and notifies the status of the communication device 151. Alternatively, a soft keyboard with keys such as numerical input keys, mode setting keys, confirm keys, cancel keys, and power keys may be installed on the display unit 161 to accept user input via the display unit 161.

[0038] The wired communication unit 162 is configured to connect via a wire to devices such as the terminal device 101 or AP131 and perform data communication. For example, the wired communication unit 162 communicates via a wired LAN. However, it is not limited to this configuration; for example, it may communicate via a USB cable.

[0039] <About the direct connection method> Direct connection refers to a configuration in which devices connect wirelessly directly (i.e., peer-to-peer) without the need for external devices such as AP131. Direct connection is also called peer-to-peer connection (P2P connection). The communication device 151 can operate in a mode for communication via direct connection (direct connection mode) as one of its connection modes. In Wi-Fi communication, there are multiple modes for communication via direct connection, such as software AP mode and Wi-Fi Direct (WFD) mode.

[0040] The mode in which a direct connection is performed using WFD is called WFD mode. WFD is a standard developed by the Wi-Fi Alliance and is included in the IEEE 802.11 series of communication standards. In WFD mode, after the device to be communicated with is discovered using a device discovery command, the roles of the P2P group owner (GO) and the P2P client are determined, and then the remaining wireless connection processing is performed. The group owner corresponds to the Wi-Fi base station (access point), and the client corresponds to the Wi-Fi slave station (slave device). This role determination corresponds to GO Negotiation in P2P, for example. In WFD mode, before the role determination is performed, the communication device 151 is neither a base station nor a slave station. Specifically, first, one device issues a device discovery command to the other device to search for a device to connect to in WFD mode. Once the other device to be communicated with is discovered, the two devices confirm information about the services and functions that can be supplied by each other. This confirmation of device supply information is optional and not mandatory. This equipment supply information confirmation phase corresponds, for example, to P2P Provision Discovery. Next, by confirming this equipment supply information with each other, it is determined which will be the P2P client and which will be the P2P group owner. Once the client and group owner are determined, they exchange parameters for communication using WFD. Based on the exchanged parameters, the remaining wireless connection processing and IP connection processing are carried out between the P2P client and group owner. In WFD mode, the communication device 151 may always operate as GO without performing the GO Negotiation described above. In other words, the communication device 151 may operate in WFD mode, which is Autonomous GO mode. Furthermore, the state in which the communication device 151 is operating in WFD mode means, for example, a state in which a WFD connection has not been established but the communication device 151 is operating as GO, or a state in which a WFD connection has been established and the communication device 151 is operating as GO.

[0041] In software AP mode, one device (e.g., terminal device 101) acts as the client, requesting various services between the communicating devices (e.g., terminal device 101 and communication device 151). The other device implements the functions of an AP in Wi-Fi through software configuration. The software AP corresponds to the Wi-Fi base station, and the client corresponds to the Wi-Fi slave station. In software AP mode, the client searches for a device that will become a software AP using a device discovery command. Once a software AP is found, the remaining wireless connection processing (such as establishing a wireless connection) takes place between the client and the software AP, followed by IP connection processing (such as assigning an IP address). The commands and parameters sent and received when establishing a wireless connection between the client and the software AP should be those specified in the Wi-Fi standard, and their explanation is omitted here.

[0042] In this embodiment, when the communication device 151 establishes and maintains a direct connection, it operates as a master station within the network to which it belongs. A master station is a device that constructs a wireless network and provides slave stations with parameters used to connect to the wireless network. Parameters used to connect to the wireless network include, for example, parameters related to the channel used by the master station. By receiving these parameters, the slave station connects to the wireless network constructed by the master station using the channel used by the master station. In direct connection mode, since the communication device 151 operates as a master station, it is possible for the communication device 151 to determine which frequency band and which channel to use for communication in direct connection mode. In this embodiment, the communication device 151 is capable of using channels corresponding to the 2.4 GHz frequency band and channels corresponding to the 5 GHz frequency band for communication in direct connection mode.

[0043] <About infrastructure connection methods> Infrastructure connection is a connection configuration in which communication devices (e.g., terminal device 101 and communication device 151) are connected to an AP (e.g., AP131) that manages the network, allowing the devices to communicate with each other via the AP. The communication device 151 can also operate in an infrastructure connection mode (infrastructure connection mode) as one of its connection modes.

[0044] In infrastructure connectivity, each device searches for an access point (AP) using an AP discovery command. Once an AP is found, the remaining wireless connection processing (establishing the wireless connection, etc.) takes place between the device and the AP, followed by IP connection processing (assigning an IP address, etc.). The commands and parameters sent and received when establishing a wireless connection between the device and the AP should be those specified in the Wi-Fi standard, and will not be explained here.

[0045] In this embodiment, when the communication device 151 operates in an infrastructure connection, the AP 131 operates as the master station and the communication device 151 operates as the slave station. That is, in this embodiment, the infrastructure connection refers to the connection between the communication device 151 operating as a slave station and the device operating as the master station. If the communication device 151 has established an infrastructure connection and the terminal device 101 has also established an infrastructure connection with the AP 131, then communication between the communication device 151 and the terminal device 101 is possible via the AP 131. Since the channel used for communication in the infrastructure connection is determined by the AP 131, the communication device 151 performs communication in the infrastructure connection using the channel determined by the AP 131. In this embodiment, the communication device 151 is capable of using channels corresponding to the 2.4 GHz frequency band and channels corresponding to the 5 GHz frequency band for communication in the infrastructure connection. The communication device 151 can also use channels corresponding to the DFS band within the 5 GHz frequency band for communication in the infrastructure connection. Furthermore, in order to communicate with the communication device 151 via AP131, the terminal device 101 recognizes and identifies that the communication device 151 belongs to the network formed by AP131 and to which the terminal device 101 belongs.

[0046] <About connection setup process> In this embodiment, the terminal device 101 performs connection settings (network settings), which are settings for operating the communication device 151 using at least one communication method from infrastructure connection and direct connection, using wireless communication with the communication device 151. The connection setting process in this embodiment is performed by wireless communication and is therefore also called cableless setup (CLS). Note that the connection setting process may also be performed by wired communication. The terminal device 101 performs the connection setting process on the communication device 151 when the first application stored in the external storage device 106 or the like is running. The communication device 151 can operate in connection setting mode (connection setting state), which is a mode for executing the connection setting process, and executes the connection setting process while operating in the connection setting mode described later. Details of the connection setting mode will be described later.

[0047] When the terminal device 101 operates the communication device 151 in infrastructure connection mode, it wirelessly transmits infrastructure configuration information, which is the configuration information for operating in infrastructure connection mode, to the communication device 151. The infrastructure configuration information includes information about AP131. Information about AP131 includes, for example, the SSID (Service Set Identifier), password, and frequency band information.

[0048] On the other hand, when the terminal device 101 operates the communication device 151 in direct connection mode, it wirelessly transmits direct configuration information, which is the configuration information for operating in direct connection mode, to the communication device 151. The direct configuration information includes instructions for enabling the WFD function and operating as a Group Owner, and for enabling the access point settings of the communication device 151. The terminal device 101 also obtains connection information necessary to directly connect with the communication device 151 from the communication device 151. The connection information for directly connecting with the communication device 151 includes, for example, information such as the SSID and password of the communication device 151 operating in direct connection mode.

[0049] In this embodiment, a direct connection for connection setup is used between the terminal device 101 and the communication device 151 for transmitting infrastructure setting information and direct setting information, and for obtaining information for direct connection with the communication device 151 during the connection setup process. In this embodiment, a Wi-Fi connection setup process is performed as the direct connection for connection setup, but other wireless communication standards such as Bluetooth may be used. Alternatively, wired communication standards such as wired LAN or USB (Universal Serial Bus) may be used as the direct connection for connection setup.

[0050] After the connection setup process establishes an infrastructure connection or a direct connection between the terminal device 101 and the communication device 151, communication becomes possible between the terminal device 101 and the communication device 151 via the established connection. Specifically, for example, the terminal device 101 can send a print job to the communication device 151 to perform printing, or a scan job to perform scanning, via the established connection. In this embodiment, the connection setup process can operate the communication device 151 in either infrastructure connection mode or direct connection mode, but the embodiment is not limited to this configuration. For example, the connection setup process may only allow the communication device 151 to operate in infrastructure connection mode (i.e., it may not be possible to operate the communication device 151 in direct connection mode).

[0051] <About connection settings mode> The communication device 151 can operate in connection setting mode. The trigger for the communication device 151 to start operating in connection setting mode may be, for example, the user pressing a button for connection setting mode, or the communication device 151 may be started (powered on) for the first time after arrival. The button for connection setting mode may be a hard button on the communication device 151, or a soft button displayed on the display unit 161 by the communication device 151.

[0052] When the communication device 151 starts operating in connection setting mode, it enables both Wi-Fi communication and BLE communication. Specifically, as part of the Wi-Fi communication activation process, the communication device 151 activates an internal AP (connection setting AP) dedicated to connection setting mode. This makes the communication device 151 capable of establishing a direct Wi-Fi connection with the terminal device 101. Connection information (SSID and password) for connecting to the connection setting AP is pre-stored in the first application installed on the terminal device 101. In other words, the terminal device 101 is assumed to be aware of the connection information for connecting to the connection setting AP in advance. Therefore, unlike the connection information for the AP enabled in direct connection mode, the connection information for connecting to the connection setting AP cannot be arbitrarily changed by the user. Note that the connection setting AP may not have an encryption method set, and a password may not be required to connect to the AP. Note that in connection setting mode, the communication device 151 may connect to the terminal device 101 using Wi-Fi Direct (WFD) instead of normal Wi-Fi. In other words, the communication device 151 may operate as a Group Owner and receive configuration commands from the terminal device 101 via WFD communication.

[0053] <Regarding registration of communication devices to the app> In this embodiment, the first application can register the communication device 151 with the first application by obtaining information about the communication device 151 from the communication device 151. Information about the communication device 151 includes, for example, the capability information of the communication device 151, the identification information of the communication device 151 (MAC address, etc.), and the model information of the communication device 151. Specifically, the capability information of the communication device 151 includes a list of information about the functions that the communication device 151 supports, information about consumables (ink, paper) that can be used with the communication device 151, and information indicating the printing method of the communication device 151. The first application then selects one device from among the one or more communication devices 151 registered with the first application to be the communication partner of the first application. Hereinafter, the communication device 151 currently selected as the communication partner of the first application will be referred to as the selected communication device 151. The selection of the device to communicate with by the first application may be performed by accepting a selection from the user from one or more communication devices 151 registered in the first application, or it may be performed automatically by the first application according to predetermined criteria. Furthermore, the change of the device to communicate with by the first application may be performed, for example, by accepting a selection from the user from one or more communication devices 151 registered in the first application. In this embodiment, the first application sends various jobs, such as print jobs and scan jobs, to the selected communication device 151. In other words, the selected communication device 151 is the device to which various jobs are sent.

[0054] <Problems to be solved by this embodiment> In order to connect the communication device 151 to the AP through the connection setup process, the terminal device 101 sends a password to the communication device 151 that will be used to connect to the AP. The communication device 151 then connects to the AP using the received password. In this process, the password sent from the terminal device 101 to the communication device 151 may be the password entered by the user into the terminal device 101. In this case, the user needs to recognize the correct password and enter it into the terminal device 101. However, in the past, the wrong password was sometimes entered into the terminal device 101 due to the user recognizing the wrong (incorrect) password or due to input errors even though the user recognized the correct password. As a result, the wrong password was sometimes sent to the communication device 151, and the communication device 151 was unable to connect to the AP.

[0055] To solve these problems, in this embodiment, the terminal device 101 performs a process to prevent an incorrect password from being entered into the terminal device 101. Specifically, the first application of the terminal device 101 displays a screen that presents a method for verifying the correct password on a screen displayed by a specific application of the terminal device 101. The specific application is an application different from the predetermined application and is pre-installed on the terminal device 101 without being installed on the terminal device 101 by a store application. The specific application is a settings application for configuring various settings of the terminal device 101 and is capable of executing various settings, including settings related to the terminal device 101's Wi-Fi connection. In the following, the screen for configuring the terminal device 101's Wi-Fi connection among the various settings that the second application can execute will be referred to as the Wi-Fi settings screen. In the following, the specific application will be referred to as the second application. The second application can display a list of access points present around the terminal device 101 on the Wi-Fi settings screen. Furthermore, if a password is required to connect to the access point selected from the list, the second application can accept password input from the user on the Wi-Fi settings screen. If the connection using that password is successful, the second application saves and manages various information about the access point to which the terminal device 101 connected using that password. Specifically, this information includes, for example, password, SSID, and security information. In other words, the second application has a management function that saves and manages information about the access point to which the terminal device 101 is currently connected, as well as information about access points to which the terminal device 101 has connected in the past. In its management function, the second application can display the password for the access point to which the terminal device 101 is currently connected, as well as the passwords for access points to which the terminal device 101 has connected in the past, on the Wi-Fi settings screen. The user can confirm the correct password for the access point by checking the password displayed by the second application. However, in order for the second application to display the password, several operations are required on the screen displayed by the second application.Furthermore, since terminal device 101 has a second application that differs depending on the OS and model of terminal device 101, the operation to display the password using the second application may also differ depending on the OS and model of terminal device 101. If the user does not correctly recognize the operation, the user will not be able to display the password using the second application. Therefore, in this embodiment, a screen is displayed that presents the operation to display the password using the second application.

[0056] Furthermore, if the OS of the terminal device 101 is iOS (trademark registered) or iPadOS (registered trademark), the connection of the terminal device 101 established by the instructions of the first app can be divided into two types: a connection that is disconnected based on the first app transitioning to the background (hereinafter referred to as the first type of connection), and a connection that is not disconnected even if the first app transitions to the background (hereinafter referred to as the second type of connection). Specifically, the first type of connection is disconnected by the OS based on the fact that the first app remains in the background for a predetermined amount of time (for example, 15 seconds). The second type of connection is maintained without being disconnected by the OS even if the first app remains in the background for a predetermined amount of time. As described above, in this embodiment, the first app displays a screen prompting the user to confirm the password on the Wi-Fi settings screen displayed by the second app. When the user launches the second app according to that screen, the first app transitions to the background. Furthermore, if the connection between the communication device 151 operating in connection setting mode and the terminal device 101 is a Type 1 connection, the connection between the communication device 151 operating in connection setting mode and the terminal device 101 will be disconnected if the user launches the second application to check the password. Once the connection is disconnected, even if the user checks the password on the Wi-Fi settings screen displayed by the second application and enters it into the first application, the first application will not be able to send the entered password to the communication device 151. In order to send the entered password to the communication device 151, the connection needs to be re-established, but this requires an operation to re-establish the connection, which is troublesome for the user. Therefore, in this embodiment, the connection between the communication device 151 operating in connection setting mode and the terminal device 101 is controlled to be a Type 2 connection. This allows the connection to be maintained without being disconnected even if the first application transitions to the background when the user launches the second application.

[0057] As described above, the first application confirms the connection between the communication device 151 and the AP by sending configuration information, including the password entered by the user on the first application, to the communication device 151. However, the user may abandon the method of the first application sending configuration information to the communication device 151, even though the password input screen has been displayed by the first application, for reasons such as being unable to confirm the password. There are other methods (other connection methods) for establishing a connection between the communication device 151 and other devices, other than the method of the first application sending configuration information to the communication device 151. However, if the user is unaware of the existence of other connection methods or the details of these other connection methods, there is a problem that the user cannot establish a connection with the communication device 151, either by the method of the first application sending configuration information to the communication device 151 or by the other connection methods. Therefore, in this embodiment, a button to display a manual on other connection methods is displayed on the password input screen. This makes it possible to guide users who have abandoned the method of the first application sending configuration information to the communication device 151, even though the password input screen has been displayed by the first application, to other connection methods, thereby improving usability.

[0058] Furthermore, requiring users to manually enter their passwords presents challenges such as inconvenience for the user and the possibility of users making mistakes in their input.

[0059] Furthermore, the present invention does not necessarily have to solve all of the above-mentioned problems; it is sufficient if it solves any of the above-mentioned problems. In other words, it does not necessarily have to perform all of the processes that solve the above-mentioned problems; it is sufficient if it performs any of the processes that solve the above-mentioned problems.

[0060] <About password management apps> Terminal device 101 has the iOS 18 operating system. Terminal device 101 with iOS 18 comes standard with a password management app. The password management app is a different app from the first app and can manage passwords. Passwords can be shared in text format with other apps (the first app) using the OS's file sharing function (officially called "sharing action").

[0061] Figure 3 shows an example of the configuration of an application archive 300 downloaded by the terminal device 101 from the app store. The application archive 300 includes an application body 301, a Share Extension 302, and an Action Extension 303. In this embodiment, the application archive 300 is assumed to be the first application.

[0062] The application itself is, for example, an application for communicating with the communication device 151, and is the program that performs the main functions of the application archive 300. The share extension 302 and the action extension 303 are programs called application extensions. An application extension is an extension program that can run on the context of the application itself 301.

[0063] The application archive 300 is a package program that combines the application itself 301 and application extensions 302 and 303. The terminal device 101 can download the application archive 300 from the app store.

[0064] In order to accept file sharing via the OS's file sharing function, a share extension 302 or an action extension 303 is required. In this embodiment, file sharing of text data is performed by the share extension 302, and file sharing of image data is performed by the action extension 303.

[0065] Figures 9(a) to 9(d) show examples of screens 901, 903, 905, and 907 displayed on the password management application of terminal device 101. The following describes the process of calling the OS file sharing function using the password management application to share the Wi-Fi password with the first application.

[0066] The password management app displays the top screen 901 on the display unit 108. The top screen 901 is the display screen of the password management app. The user taps the Wi-Fi button 902 on the top screen 901 to share the Wi-Fi password of AP131. Here, AP131 is an AP that is outside the terminal device 101 and outside the communication device 151.

[0067] The password management app then displays the Wi-Fi list screen 903 on the display unit 108. The user taps the SSID 904 of AP131's Wi-Fi on the Wi-Fi list screen 903.

[0068] The password management app then displays the network information screen 905 for SSID 904 on the display unit 108. The network information screen 905 displays the tapped SSID and its password. The user taps the share button 906 on the network information screen 905.

[0069] The password management app then calls the OS's file sharing function and passes the text data containing the SSID and password of the file to be shared to the OS.

[0070] The OS file sharing function then identifies the applications installed on the terminal device 101 that are capable of accepting text data sharing. Each application's share extension 302 declares (informs) to the OS which file extensions it supports for data sharing.

[0071] The action selection screen 907 is displayed on the display unit 108. The action selection screen 907 displays the SSID 908 and password 909 of the shared device. On the action selection screen 907, the OS displays a list 910 of icons corresponding to the selected app on the display unit 108. The list 910 is not the UI displayed by the password management app, but the UI displayed by the OS's file sharing function.

[0072] The first app's share extension 302 declares to the OS that it can accept the sharing of text data. In other words, the first app's share extension 302 declares to the OS that it supports data sharing of file extensions corresponding to text data. As a result, the icon 911 of the first app is displayed in list 910. The first app's share extension 302 may also declare to the OS that it supports data sharing of file extensions other than those corresponding to text data. Specifically, for example, it may further declare to the OS that it supports data sharing of file extensions corresponding to image data and document data.

[0073] The user taps the icon 911 of the first app in list 910 that they want to share the Wi-Fi password of AP131 with. The first app is, for example, a printing app used to print on communication device 151. The OS then shares text data with the first app corresponding to the tapped icon 911 in list 910. The text data includes the Wi-Fi SSID 908 and password 909 of AP131.

[0074] <Regarding the processing performed by the share extension in this embodiment> Figure 10 is a flowchart showing an example of a process performed by the terminal device 101 using the share extension 302 in this embodiment. Each process in the flowchart of Figure 10 is realized, for example, by the CPU 103 expanding the share extension 302 stored in memory such as ROM 104 into RAM 105 and executing it.

[0075] In the list 910 of Figure 9(d), when the icon 911 of the first application is tapped, the OS instructs the Share Extension 302 to start, and the Share Extension 302 begins processing the flowchart in Figure 10.

[0076] In S1001, the share extension 302 obtains text data from the OS via the OS's file sharing function.

[0077] In S1002, the share extension 302 obtains the language settings of the terminal device 101 from the OS via the OS's file sharing function.

[0078] In S1103, the share extension 302 determines whether the content of the text data obtained in S1001 is network information. For example, the share extension 302 determines whether the text data (text information) shared from the password management application via the OS file sharing function is in a format that corresponds to network information (e.g., SSID and password). If the share extension 302 determines that the text data is in a format that corresponds to network information, it proceeds to S1004; if it determines that the text data is not in a format that corresponds to network information, it proceeds to S1007.

[0079] Specifically, Share Extension 302 determines whether the above text data contains a specific string based on the language settings obtained by S1002.

[0080] Here, if the language setting is "Japanese", the text data will contain "Network Name: AAAAA" and "Password: BBBBB". The network name corresponds to SSID 908 in Figure 9(d), and the password corresponds to password 909 in Figure 9(d). "AAAAA" is the network name data. "BBBBB" is the password data.

[0081] Furthermore, if the language setting is "English," the text data will contain "Network Name:AAAAA" and "Password:BBBBB." Network Name corresponds to a Japanese network name, and Password corresponds to a Japanese password.

[0082] Therefore, if the language indicated by the language setting is Japanese, Share Extension 302 determines whether the above text data contains the strings "network name" and "password" corresponding to the Japanese language. If Share Extension 302 determines that the strings "network name" and "password" are included, it proceeds to S1004; if it determines that the strings "network name" and "password" are not included, it proceeds to S1007.

[0083] Furthermore, if the language indicated by the language setting is English, Share Extension 302 determines whether the above text data contains the strings "Network Name" and "Password" corresponding to the English language. If Share Extension 302 determines that the strings "Network Name" and "Password" are included, it proceeds to S1004; if it determines that the strings "Network Name" and "Password" are not included, it proceeds to S1007.

[0084] In S1004, the share extension 302 converts the above text data into text data in a predetermined format, regardless of the language setting. The predetermined text data format is, for example, "SSID:AAAAA" and "Password:BBBBB". That is, in the predetermined format, "AAAAA" indicating the network name and "BBBBB" indicating the password are maintained as text data shared via the OS file sharing function. Then, in the predetermined format, a string other than "AAAAA" indicating the network name and "BBBBB" indicating the password, which indicates which data "AAAAA" and "BBBBB" represent, is set as a string that the share extension 302 has identified in advance. This allows for unified processing from then on, regardless of the language setting. Note that the string identified in advance by the share extension 302 is not limited to the above format and may be any other string. Also, the converted text data may not include the string identified in advance by the share extension 302 and may only include "AAAAA" indicating the network name and "BBBBB" indicating the password.

[0085] In S1005, the share extension 302 saves the text data modified in S1004 to an area of ​​non-volatile memory A accessible by the first application. This text data includes the Wi-Fi SSID and password of AP131.

[0086] In S1006, the share extension 302 instructs the OS to display message 1101 indicating that it has accepted the sharing of the SSID and password shown in Figure 11(a). When the OK button 1102 in Figure 11(a) is tapped, the process shown in the flowchart of Figure 10 is completed.

[0087] In S1007, the share extension 302 instructs the OS to display the error message 1103 shown in Figure 11(b) on the display unit 108. When the OK button 1104 shown in Figure 11(b) is tapped, the process shown in the flowchart of Figure 10 is completed.

[0088] <Regarding the processing performed by the first application in this embodiment> Figures 12 and 13 are flowcharts illustrating an example of processing performed by the terminal device 101 using the first application in this embodiment. Each process in the flowcharts of Figures 12 and 13 is realized, for example, by the CPU 103 loading the first application stored in memory such as ROM 104 into RAM 105 and executing it. Furthermore, the flowcharts of Figures 12 and 13 are started based on an operation to perform connection setting processing on the screen displayed by the first application. Note that the flowcharts of Figures 12 and 13 may also be started in response to the launch of the first application. In this embodiment, the flowcharts of Figures 12 and 13 are executed by the application body 301 of the first application. However, the embodiment is not limited to this form, and may also be executed by a share extension 302 or an action extension 303. The control method of the terminal device 101 will be described below.

[0089] When the user instructs the first application to launch, the first application displays screen 1401 in Figure 14 on the display unit 108 and proceeds to S1201.

[0090] In S1201, the first application determines whether or not text data is stored in the memory area A that the first application can access. If the first application determines that text data is stored, it proceeds to S1202; otherwise, it proceeds to S1208.

[0091] In S1202, the first application retrieves text data from memory area A.

[0092] In S1203, the first application extracts the SSID information after "SSID:" and the password information after "Password:" from the text data as AP information.

[0093] In S1204, the first application displays message 1402 containing the extracted AP information, as shown in Figure 14. Message 1402 includes a Yes button 1403 and a No button 1404 regarding whether or not to configure the network settings using the extracted AP information.

[0094] In S1205, the first application determines whether or not to save the extracted AP information to volatile memory B. Specifically, the first application determines whether either the yes button 1403 or the no button 1404 was tapped. If the first application determines that the yes button 1403 was tapped, it proceeds to S1206; if the no button 1404 was tapped, it proceeds to S1208.

[0095] In S1206, the first application saves the extracted AP information to volatile memory B.

[0096] In S1207, the first application deletes the text data (including extracted AP information) stored in non-volatile memory A.

[0097] Here, the AP information in text data is moved from non-volatile memory A to volatile memory B, as described above. If this move is not performed, the text data will remain in non-volatile memory A, and each time the first application is launched, processing steps S1202 to S1207 will be performed. By performing the above move, once processing steps S1202 to S1207 have been performed, subsequent launches of the first application will not require processing steps S1202 to S1207.

[0098] In S1208, the first application obtains and saves information about the AP to which the terminal device 101 is currently connected via Wi-Fi from the OS. In other words, the AP to which the terminal device 101 is currently connected via Wi-Fi is the AP to which the terminal device 101 is connected when the process that triggered the start of the flowchart in Figure 3 is executed. The process that triggered the start of the flowchart in Figure 3 is the acceptance of an operation to execute the connection setting process or the launch of the first application. Hereafter, the AP to which the terminal device 101 is connected via Wi-Fi at the time of S1208 will be referred to as the predetermined AP. The AP information obtained here is information that the first application can obtain from the OS from among various AP-related information, specifically, for example, the SSID. If the terminal device 101 is not currently connected to an AP via Wi-Fi, the information of the predetermined AP is not obtained.

[0099] In S1209, the first application retrieves and saves information about the AP to which the selected communication device 151 is currently connected via Wi-Fi from the selected communication device 151. Hereafter, the AP to which the selected communication device 151 is currently connected via Wi-Fi will be referred to as the specific AP. The information of the specific AP retrieved here includes the SSID and password. The information of the specific AP is obtained, for example, via the infrastructure connection or direct connection between the terminal device 101 and the communication device 151. If the terminal device 101 is not currently able to communicate with the selected communication device 151, or if the selected communication device 151 is not currently connected to an AP via Wi-Fi, the information of the specific AP is not retrieved. The timing of retrieval of the specific AP information is not limited to this timing. For example, the acquisition of the specific AP information may be performed at a time before the flowchart in Figure 3 starts, based on the launch of the first application, in which case the process in S1209 is skipped.

[0100] In S1210, the first application displays screen 1405 in Figure 14 on the display unit 108. Screen 1405 is the first connection preparation screen for putting the communication device 151 into connection setting mode. When the Yes button 1406 on screen 1405 is tapped, the first application displays screen 1407 in Figure 14 on the display unit 108. Screen 1407 is the second connection preparation screen for putting the communication device 151 into connection setting mode.

[0101] When the "Next" button 1408 on screen 1407 is tapped, the first application executes a process to establish a connection between the communication device 151, which is operating in connection setting mode, and the terminal device 101. Specifically, the first application instructs the OS to establish a connection between the communication device 151, which is operating in connection setting mode, and the terminal device 101. More specifically, the first application executes a predetermined API (Application Programming Interface) to establish a connection with the terminal device 101, while setting at least a part of the string of the SSID of the communication device 151, which is operating in connection setting mode, as an argument. The OS then searches for a device with an SSID containing that string and displays the connection confirmation message 1409 shown in Figure 14 on the display unit 108.

[0102] When the connect button 1410 in Figure 14 is tapped, the OS establishes a connection between the discovered device (i.e., the communication device 151 operating in connection setting mode) and the terminal device 101. The communication device 151 to which the terminal device 101 connects through this process is assumed to be the first communication device 151 discovered by the search performed in the process of S1210. However, the system is not limited to this form; the first application may display multiple communication devices 151 discovered by the search performed in the process of S1210, and the user may select one of the displayed communication devices 151. The communication device 151 to which the terminal device 101 connects through this process may be the communication device 151 selected by the user. While the connection between the communication device 151 operating in connection setting mode and the terminal device 101 is established, communication between the communication device 151 and the terminal device 101 will be performed through that connection.

[0103] In this embodiment, the first iOS application controls the connection between the communication device 151, which is operating in connection setting mode, and the terminal device 101 so that it becomes the second type of connection described above. Specifically, in S1210, the first iOS application executes a predetermined API while setting a flag to instruct the OS to establish a second type of connection. As a result, the OS establishes a connection between the communication device 151, which is operating in connection setting mode, and the terminal device 101 as a second type of connection. This prevents the connection between the communication device 151, which is operating in connection setting mode, and the terminal device 101 from being disconnected even if a predetermined amount of time has elapsed since the first application started running in the background.

[0104] In S1211, the first application obtains information from the communication device 151 regarding a list of APs discovered by a search performed by the communication device 151. APs discovered by a search performed by the communication device 151 are APs that the communication device 151 can connect to. APs that the communication device 151 can connect to are APs located within the communication range of the communication device 151 and corresponding to the capabilities of the communication device 151. For example, if the communication device 151 can perform communication using 2.4GHz but not 5GHz, the list of APs shown in the obtained information will include APs that support 2.4GHz communication but will not include APs that support 5GHz communication. The process then proceeds to S1301 in Figure 13.

[0105] In S1301, the first application determines whether the list of APs received in S1211 contains the AP information stored in volatile memory B in S1206. If the first application determines that the AP information is included, it proceeds to S1312; otherwise, it proceeds to S1305.

[0106] In S1312, the first application sends the AP information stored in volatile memory B in S1206 to the communication device 151. This AP information is connection information including the password and SSID of AP131 obtained from the password management application via the OS file sharing function, as described above. Therefore, as shown in Figure 14, after the connect button 1410 is tapped, the first application does not accept the selection of AP131, nor does it accept password input from the user on the password input screen in S1319. Instead, it displays the SSID and password of AP131 on the display unit 108 in the message 1411 during communication and sends them to the communication device 151. After the connection information is sent to the communication device 151, the communication device 151 exits the connection setting mode and uses the received information to connect to the AP identified as the connection target for the communication device 151. When the connection setting mode is exited, the connection between the communication device 151 and the terminal device 101 is also disconnected. The terminal device 101, using the OS's reconnection function, reconnects to a predetermined AP, which is the AP to which the terminal device 101 was connected before connecting to the communication device 151. After that, the first application proceeds to S1327. However, the application is not limited to proceeding to S1327; it may also proceed to a process such as S710 described later, which displays a screen for searching for the communication device 151 on the Wi-Fi network to which the terminal device 101 is connected.

[0107] In S1305, the first application determines whether the AP indicated by the information saved in S1208 (a predetermined AP) is included in the list of APs indicated by the information obtained in S1211. If the first application determines that the answer is YES, it proceeds to S1306; otherwise, it proceeds to S1309.

[0108] In S1306, the first application displays information about a predetermined AP and shows a confirmation screen to the user asking whether to set the communication device 151 to connect to the predetermined AP. The information displayed here is the information saved in S1208, for example, the SSID of the predetermined AP.

[0109] In S1307, the first application determines whether or not to transmit information about a predetermined AP to the communication device 151. In other words, this determination determines whether the user has confirmed that the predetermined AP is the target of connection for the communication device 151. Therefore, if an input indicating that the predetermined AP is the target of connection for the communication device 151 is given on the confirmation screen, the determination is YES, and the predetermined AP is identified as the target of connection for the communication device 151. If an input indicating that the predetermined AP is not the target of connection for the communication device 151 is given on the confirmation screen, the determination is NO. If the first application determines YES, it proceeds to S1308; if it determines NO, it proceeds to S1313.

[0110] In S1308, the first application determines whether a given AP matches a specific AP. If the given AP matches a specific AP, the first application holds the password for the given AP. Therefore, this determination determines whether the first application holds the password for the given AP. In other words, this determination determines whether the password for the given AP is stored in a storage area accessible to the first application. If the first application determines YES, it proceeds to S1312 and sends the information of the given AP to the communication device 151. If it determines NO, it proceeds to S1319 and displays the password input screen.

[0111] In S1308, it is not necessary to determine whether the predetermined AP matches a specific AP. The determination performed in S1308 may be a process to determine whether the predetermined AP is the AP corresponding to information held in a storage area accessible by the first application. In this configuration, a case where the determination is YES is, for example, a case in which, in a connection setup process previously executed by the first application, a password for connecting to the predetermined AP was entered by the user into the first application and sent to the communication device 151. In this configuration, a case where the determination is NO is, for example, a case in which, in a connection setup process previously executed by the first application, a password for connecting to the predetermined AP was never entered by the user into the first application.

[0112] In S1309, which is executed when the result of S1305 is NO, the first application determines whether the AP indicated by the information saved in S1209 (a specific AP) is included in the list of APs indicated by the information obtained in S1211. If the first application determines it is YES, it proceeds to S1310; if it determines it is NO, it proceeds to S1313.

[0113] In S1310, the first application displays information about a specific AP and shows a confirmation screen to the user asking whether to set the communication device 151 to connect to that specific AP. The information displayed here is the information saved in S1209, for example, the SSID of the specific AP.

[0114] In S1311, the first application determines whether or not to send information about a specific AP to the communication device 151. In other words, this determination determines whether the user has confirmed that the communication device 151 will connect to a specific AP. Therefore, if the confirmation screen indicates that the communication device 151 will connect to a specific AP, the determination is YES, and the specific AP is identified as the communication device 151's connection target. If the confirmation screen indicates that the communication device 151 will not connect to a specific AP, the determination is NO. If the first application determines YES, it proceeds to S1312; if it determines NO, it proceeds to S1313.

[0115] In S1312, the first application transmits information to the communication device 151 for connecting to the AP identified as the target of the communication device 151. The information transmitted here includes the SSID of the AP identified as the target of the communication device 151 and the password for connecting to the AP identified as the target of the communication device 151. In this process, the AP identified as the target of the communication device 151 is a predetermined AP that matches a specific AP, or a specific AP. That is, the password transmitted here is the password for the specific AP, and is the password obtained from the communication device 151 in S1209. In other words, the password transmitted here is the password held by the first application (the password held in a storage area accessible to the first application). Therefore, after the target of the communication device 151 is identified, the first application transmits the password to the communication device 151 without accepting password input from the user. After information for connecting to the AP identified as the target for communication device 151 is sent to communication device 151, communication device 151 exits connection setting mode and uses the received information to connect to the AP identified as the target for communication device 151. When connection setting mode is exited, the connection between communication device 151 and terminal device 101 is also disconnected. Terminal device 101 reconnects to the predetermined AP, which is the AP to which terminal device 101 was connected before connecting to communication device 151, using the OS's reconnection function. After that, the first application proceeds to S1327. Note that the application is not limited to proceeding to S1327, but may also proceed to a process such as S710 described later, which displays a screen for searching for communication device 151 on the Wi-Fi network to which terminal device 101 is connected.

[0116] S1313 is executed if the result of S1307 is NO, or if the result of S1309 is NO, or if the result of S1311 is NO. In S1313, the first application displays a list of APs indicated by the information obtained in S1211. In this embodiment, the screen containing the list includes a direct connection button. If the AP that the user desires to connect to the communication device 151 is not in the list, the user operates the direct connection button.

[0117] In S1314, the first application determines whether the direct connection button has been operated. If the first application determines that the answer is YES, it proceeds to S1315; otherwise, it proceeds to S1318.

[0118] In S1315, the first application executes a process to establish a direct connection between the communication device 151 and the terminal device 101. Specifically, the first application first sends direct configuration information to the communication device 151. Then, it obtains connection information from the communication device 151 to establish a direct connection with the communication device 151. The first application then instructs the OS to establish a connection between the communication device 151, which is operating in direct connection mode, and the terminal device 101. More specifically, the first application identifies the SSID of the communication device 151, which is operating in direct connection mode, from the received connection information. The first application then executes a predetermined API to establish a connection with the terminal device 101, setting at least a part of the identified SSID string as an argument. The OS then searches for a device with an SSID containing that string and displays a confirmation screen to ask whether to establish a direct connection between the found device (the communication device 151 operating in direct connection mode) and the terminal device 101. Furthermore, if the first application is an iOS application, the first application may, in this process, execute a predetermined API while setting a flag to instruct the OS to establish a connection that will not be disconnected even if the first application transitions to the background. In other words, a direct connection between the communication device 151 and the terminal device 101 may be established as a Type 2 connection. However, the process is not limited to this form, and the first application may, in this process, execute a predetermined API without setting the flag, and a direct connection between the communication device 151 and the terminal device 101 may be established as a Type 1 connection.

[0119] In S1316, the first application determines whether a user operation indicating the establishment of a direct connection has been performed on the confirmation screen displayed by the OS in S1315. This determination is made when the first application receives a notification from the OS indicating which operation has been performed on the confirmation screen displayed by the OS. If a user operation indicating the establishment of a direct connection is performed, the OS establishes a direct connection; however, if a user operation indicating not to establish a direct connection is performed, the OS does not establish a direct connection. If the first application determines the result is YES, it proceeds to S1327; if it determines the result is NO, it proceeds to S1317.

[0120] In S1317, the first application displays a screen for direct connection. An example of the screen displayed in this process is shown in Figure 4. Screen 400 includes an SSID display area 401, a password display area 402, a password copy area 403, and a complete button 404. The SSID display area 401 is the area that displays the SSID of the communication device 151 operating in direct connection mode. The password display area 402 is the area that displays the password of the communication device 151 operating in direct connection mode. When area 403 is operated, the first application copies the password of the communication device 151 operating in direct connection mode and saves it to the clipboard of the terminal device 101. With the password of the communication device 151 operating in direct connection mode copied, the user can easily enter the password in the second application, and the second application can establish a direct connection. Screen 400 may also include messages prompting the user to establish a direct connection using the Wi-Fi settings screen displayed by the second application, and messages prompting the user to operate the complete button 404 once the direct connection has been established. If the complete button 404 is operated, the first application proceeds to S1327. However, it is not limited to proceeding to S1327; it may also proceed to a process such as S710 described later, which displays a screen for searching for the communication device 151 on the Wi-Fi network to which the terminal device 101 is connected.

[0121] In S1318, which is executed when the result of S1314 is NO, the first application determines whether any AP has been selected by the user from the displayed list of APs. If the first application determines it is YES, it identifies the selected AP as the target for connection to the communication device 151 and proceeds to S1319. If it determines it is NO, it returns to S1314 and waits to accept any operation.

[0122] In S1319, the first application displays a password input screen (first display control) to accept input of a password for connecting to the AP identified as the connection target of the communication device 151. The password input screen may also be displayed as a pop-up on the top of the AP list. An example of the screen displayed in this process is shown in Figure 5. The password input screen 500 includes an SSID display area 501, a password input box 502 (first area), a password confirmation button 503, a button 504 for other connection methods, a password confirmation button 507 for the password management application, an OK button 506, and a cancel button 505. The SSID display area 501 is an area that displays the SSID of the AP identified as the connection target of the communication device 151. The password input box 502 is an area that accepts input of the password for the AP identified as the connection target of the communication device 151 from the user. The password confirmation button 503 is a button related to the function of the second application to display the password on the Wi-Fi settings screen. Button 504 for other connection methods is a button for displaying a manual for other connection methods. In this embodiment, other connection methods refer to connection methods other than the method by which the first application establishes a connection between the communication device 151 and other devices by transmitting configuration information to the communication device 151. In other words, other connection methods are methods by which the first application establishes a connection between the communication device 151 and other devices without transmitting configuration information to the communication device 151.

[0123] Depending on the OS version of terminal device 101, the second application may not be able to display the password for the access point to which terminal device 101 is currently connected, or the passwords for access points to which terminal device 101 has previously connected, on the Wi-Fi settings screen. Specifically, for example, if the OS of terminal device 101 is an iOS version lower than 16 or an iPadOS version lower than 16, the second application cannot display the above passwords on the Wi-Fi settings screen. Therefore, in S1319, the first application may identify the OS version of terminal device 101 and determine whether the identified version is one to which the second application cannot display the above passwords on the Wi-Fi settings screen. If the result of the determination is YES, the first application may display a password input screen that does not include the password confirmation button 503, and if the result is NO, it may display a password input screen that includes the password confirmation button 503. The password input screen that does not include the password confirmation button 503 includes other buttons and areas on screen 500. In other words, the button 504 for other connection methods will be displayed regardless of the OS version. However, if, for example, the first app only supports OS versions that allow the second app to display the above password on the Wi-Fi settings screen, then it is not necessary to perform version detection or control to switch the display screen based on the version detection result.

[0124] In S1320, the first application determines whether or not it has received a user response to the cancel button 505. If the first application determines that it has received a response, it proceeds to S1313 to display a list of applications; if it determines that it has received a response, it proceeds to S1321.

[0125] In S1321, the first application determines whether it has received a user response to the password confirmation button 503. If the first application determines it is YES, it proceeds to S1322; otherwise, it proceeds to S1323.

[0126] In S1322, the first application displays a screen for password confirmation. In this embodiment, the screen for password confirmation is a predetermined screen that shows how to confirm the AP password on the Wi-Fi settings screen displayed by the second application. An example of the screen displayed in this process is shown in Figure 6(a). In this embodiment, the screen for password confirmation is not a web page displayed via internet communication by a web browser. That is, it is a screen displayed on the first application based on information that the first application has in advance. A web browser is, for example, an internal browser of the first application or a browser of a different browser application than the first application. However, it is not limited to this form, and the screen for password confirmation may be a web page displayed by a web browser. Also, the screen for password confirmation may be displayed as a pop-up at the top of the AP list.

[0127] Figure 6(a) shows a password confirmation screen displayed when the OS of terminal device 101 is iOS or iPadOS, and the first application is an iOS application or an iPadOS application. Screen 610 includes an area 611 showing a method for confirming the AP password on the Wi-Fi settings screen displayed by a second application compatible with iOS or iPadOS (hereinafter referred to as the second password confirmation method), and an OK button 612. Area 611 displays text indicating the second password confirmation method, which shows the operation to confirm the password on the Wi-Fi settings screen compatible with iOS or iPadOS. Screen 610 may also display the SSID of the AP identified as the connection target of communication device 151. Area 611 may also display text prompting the user to return to the first application (bring the first application back to the foreground) after confirming the password. After confirming this text, the user launches the second application from the home screen of terminal device 101, etc., and confirms the password by performing the operation indicated by the text. After confirming the password, the user then runs the first app in the foreground again, operates the OK button 612, and enters the password within the first app. Note that all devices with a specified version of iOS or iPadOS or a specified version or higher have a function to confirm the password on the Wi-Fi settings screen.

[0128] In S1323, which is executed when the result of S1321 is NO, the first application determines whether or not it has received a user input for button 504 for another connection method. If the first application determines it is YES, it proceeds to S1324; if it determines it is NO, it proceeds to S1328. Details of the processing in S1324 will be described later.

[0129] In S1328, the first application determines whether it has received a user input on the password confirmation button 507 in the password management application. If the first application determines it is YES, it proceeds to S1329; otherwise, it proceeds to S1325.

[0130] In S1329, the first application displays a screen for password verification in the password management application, as shown in Figure 6(b). The screen in Figure 6(b) is a predetermined screen showing how to verify the password of the AP displayed by the password management application, and is not a web page displayed via internet communication by a web browser. That is, it is a screen displayed on the first application based on information that the first application already possesses. A web browser refers to, for example, the internal browser of the first application or a browser of a different browser application than the first application. However, it is not limited to this form, and the screen in Figure 6(b) may be a web page displayed by a web browser. Also, the screen in Figure 6(b) may be displayed as a pop-up at the top of the AP list.

[0131] Figure 6(b) shows the screen for password confirmation in the password management app. Screen 620 includes an area 621 for the user to confirm the AP password in the password management app, and an OK button 622. Area 621 displays text indicating how to confirm the password, specifically instructions on how to confirm the Wi-Fi password in the password management app. Note that the password input screen 500 in Figure 5 may also allow the display of area 621 in Figure 6(b) directly. Screen 620 may also display the SSID of the AP identified as the connection target for the communication device 151. After confirming the text, the user launches the password management app from the home screen of the terminal device 101, etc., and confirms the password by performing the operations indicated by the text. After confirming the password, the user runs the first app again in the foreground and operates the OK button 622. The first app then proceeds to S1319, and the user enters the password in the first app.

[0132] In S1325, the first application determines whether it has received a user input to the OK button 506 with a password entered in the password input box 502. The user has pressed the password confirmation button 503 and can confirm the password on the Wi-Fi settings screen according to the text displayed on the screen shown in Figure 6, and then enter the password in the password input box 502. Alternatively, if the user has copied the password from the Wi-Fi settings screen and saved it to the clipboard, they can paste the saved password into the password input box 502 to enter the password. If the first application determines it is YES, it proceeds to S1326; if it determines it is NO, it returns to S1320 and waits for the user to perform any action on the password input screen 500.

[0133] In S1326, the first application sends information to the communication device 151 for connecting to the AP identified as the target of the communication device 151. Specifically, the information sent here includes the password entered in the password input box 502 and the SSID of the AP identified as the target of the communication device 151. After the information for connecting to the AP identified as the target of the communication device 151 is sent to the communication device 151, the communication device 151 exits the connection setup mode and uses the received information to connect to the AP identified as the target of the communication device 151. As the connection setup mode is exited, the connection between the communication device 151 and the terminal device 101 is also disconnected. The terminal device 101 reconnects to the predetermined AP, which is the AP to which the terminal device 101 was connected before connecting to the communication device 151, using the OS's reconnection function. After that, the first application proceeds to S1327.

[0134] In S1327, the first application searches for the communication device 151 on the Wi-Fi network to which the terminal device 101 is connected. For example, if the AP identified as the connection target for the communication device 151 is a predetermined AP, both the communication device 151 and the terminal device 101 will connect to the predetermined AP, and the communication device 151 will be found through this search. If the AP identified as the connection target for the communication device 151 is not a predetermined AP, and the communication device 151 connects to an AP that is not a predetermined AP, or if the entered password is incorrect and the communication device 151 fails to connect to the AP, the communication device 151 will not be found through this search. If the communication device 151 is found through this search, the application obtains information about the communication device 151 from the communication device 151 via the Wi-Fi network to which the terminal device 101 is connected, and registers the communication device 151 in the first application. At this time, the first application may automatically set the newly registered communication device 151 as the selected communication device 151. Subsequently, the first application displays the registration completion screen 1412 shown in Figure 14 on the display unit 108.

[0135] The first application is both a connection setup application and a printing application. It can also accept file sharing from applications other than the password management application. Specifically, for example, it can accept image files from an image management application. When an operation to share an image file with the first application is performed on the image management application, the action extension 303 of the first application is activated. The action extension 303 then saves the image file to an area accessible to the first application, and then displays a screen to preview the image file. When a print command is issued on that screen, the action extension 303 sends a print job to the communication device 151. In this way, the application archive 300 can perform not only password sharing but also image file sharing.

[0136] Furthermore, sharing image files as described above can also be done using Share Extension 302. Similarly, sharing passwords from a password management app can be done using Action Extension 303. Therefore, image file sharing and password sharing can be performed using either Share Extension 302 or Action Extension 303.

[0137] The image management application is an application for managing image files. Similar to the password management application described above, the image management application can share image files via a file sharing function. The first application can retrieve image files managed by the image management application via the file sharing function of the operating system, which is called by the image management application. In this case, the first application sends a print job to the communication device 151 via AP131 to perform printing based on the image file. The communication device 151 then prints the image file based on the print job.

[0138] Figure 7 is a flowchart showing an example of processing performed by the terminal device 101 using the first application in this embodiment. Each process in the flowchart of Figure 7 is realized, for example, by the CPU 103 loading the first application stored in memory such as ROM 104 into RAM 105 and executing it. The processing in this flowchart corresponds to the processing in S1324.

[0139] In S701, the first application sends information to the communication device 151 instructing it to terminate operation in connection setting mode. As a result, the communication device 151 terminates connection setting mode and restarts operation in the mode it was in before operating in connection setting mode. When connection setting mode is terminated, the connection between the communication device 151 and the terminal device 101 is also disconnected. The terminal device 101 then uses the OS's reconnection function to reconnect with the designated AP, which is the AP to which the terminal device 101 was connected before connecting with the communication device 151.

[0140] In S702, the first application displays a confirmation screen to ask the user whether the initial setup operation for the communication device 151 has been completed. The initial setup operation for the communication device 151 is an operation performed when the communication device 151 is first powered on (upon arrival). In this embodiment, the initial setup operation includes, for example, removing the orange tape from the communication device 151, attaching the print head to the communication device 151, replenishing recording material (ink or toner) to the communication device 151, replenishing paper to the communication device 151, and setting the date and time for the communication device 151. In addition, the initial setup process, which is a process performed by the communication device 151 in conjunction with the initial setup operation, includes, for example, a print head cleaning process, paper detection, a registration process (register adjustment process) to adjust the ink placement on the paper during printing, and starting operation in connection setting mode. Therefore, the confirmation screen can also be said to be a screen to ask the user whether the initial setup process by the communication device 151 has been completed. Note that the operations included in the initial setup operation and the processes included in the initial setup process are not limited to this form and may differ depending on the type of communication device 151, the printing method, etc. An example of a screen displayed in this process is shown in Figure 8. Screen 800 includes a message 801, a no button 802, and a yes button 803. Message 801 includes a message notifying that the initial setup operation for the communication device 151 must be completed in order to try other connection methods, and a message confirming whether the initial setup operation for the communication device 151 has been completed. If the initial setup operation for the communication device 151 has been completed, the user presses the yes button 803; if the initial setup operation for the communication device 151 has not been completed, the user presses the no button 802.

[0141] In S703, the first application determines whether or not it has received a user response to the Yes button 803. If a user response to the No button 802 has been received, the result of this determination is NO. If the first application determines it is YES, it proceeds to S707; if it determines it is NO, it proceeds to S704.

[0142] In S704, the first application determines whether the terminal device 101 is connected to the internet. As described above, when the connection between the communication device 151 and the terminal device 101 is disconnected in S701, the OS of the terminal device 101 performs a reconnection process. However, operations on the confirmation screen may be performed before the reconnection with the Wi-Fi AP is completed. In other words, operations on the confirmation screen may be performed while the terminal device is not connected to the internet via the Wi-Fi AP. In this case, the web page cannot be displayed in the process of S706. This determination is performed in the process of S705 in order to display the web page correctly. Specifically in this process, the first application executes an API to check whether the terminal device 101 is connected to the internet and receives a notification from the OS indicating whether the terminal device 101 is connected to the internet. The first application then performs this determination based on the content of the received notification. The notification from the OS indicates that the terminal device 101 is connected to the internet when the terminal device 101 is connected to the internet via the Wi-Fi AP. Furthermore, the notification from the OS may indicate that terminal device 101 is connected to the internet even if terminal device 101 is not connected to the internet via Wi-Fi connection to an AP, but is connected to the internet via mobile data communication. Also, the processing in this determination is not limited to the above form. For example, terminal device 101 may execute an API to check the SSID of the AP to which it is currently connected, and receive a notification from the OS indicating the SSID of the AP to which terminal device 101 is currently connected. The first application may then determine YES in this determination if the received notification indicates an SSID different from the SSID of the AP enabled by the communication device 151 operating in connection setting mode, and determine NO in this determination if the received notification indicates an SSID of the AP enabled by the communication device 151 operating in connection setting mode. In other words, this determination may also be a determination of whether terminal device 101 is currently connected to an AP different from the AP enabled by the communication device 151 operating in connection setting mode.Furthermore, the first app may determine in this determination whether the received notification indicates the SSID of a specified AP, or whether it determines whether the received notification indicates a different SSID. If the first app determines whether it determines whether it determines whether it determines whether it determines whether it determines whether it determines whether it determines whether it determines whether it determines whether it determines whether it determines whether it determines whether it determines whether it determines whether it determines whether it determines whether it is SSID.

[0143] In S705, the first application determines whether the time elapsed since the operation on the confirmation screen displayed in S702 was accepted has exceeded a predetermined threshold. That is, the first application determines whether the time elapsed since the operation on the confirmation screen displayed in S702 was accepted has timed out. The predetermined threshold is, for example, 10 seconds. If the first application determines YES, it proceeds to S706; if it determines NO, it returns to S704.

[0144] In S706, the first application executes a process to display a manual for initial setup operations for the communication device 151. Specifically, the first application uses its internal browser (in-app browser) to display a web page containing the manual for initial setup operations for the communication device 151. The information required to display this web page is obtained from a predetermined server via an internet connection. Therefore, if the communication device 151 is connected to the internet, the web page is successfully displayed. If the communication device 151 is not connected to the internet, the web page is not displayed successfully, and a screen notifying the user that the communication device 151 is not connected to the internet is displayed by the browser. In this embodiment, by displaying the web page using the internal browser of the first application, the first application can continue to operate in the foreground. The manual for initial setup operations for the communication device 151 includes content that sequentially explains to the user the specific operation methods for each operation to be performed as part of the initial setup operations for the communication device 151. The first application may also display a web page for selecting the model of the communication device 151 before displaying the web page containing the manual for initial setup operations for the communication device 151. Furthermore, once a model is selected on that page, a manual for initial setup procedures corresponding to the selected model may be displayed. The manual for initial setup procedures for the communication device 151 may be displayed by an external browser of the first application, rather than the internal browser of the first application. In that case, the external browser displaying the manual will move to the foreground, and the first application will move to the background. Also, the manual for initial setup procedures for the communication device 151 may be displayed by the first application without using a browser, as content pre-installed by the first application, rather than being displayed as a web page obtained via the internet. The screen displayed by the internal browser of the first application can be closed by the user operating the close button on that screen.Furthermore, the screen displayed by the internal browser of the first application is displayed on top of the confirmation screen shown in S702. Therefore, when the screen displayed by the internal browser of the first application is closed, the terminal device 101 becomes able to accept operations on the confirmation screen again. For this reason, after this process, the process returns to S703.

[0145] In the above description, the process proceeds to S706 only if the result of S705 is YES. However, the process is not limited to this configuration. If the result of S705 is YES, the first application may, without attempting to display a web page via a browser, display a message on the first application's screen indicating that the communication device 151 is not connected to the internet.

[0146] In S707, which is executed when the result of S703 is YES, the first application determines whether the terminal device 101 is connected to the internet. This process is the same as in S704. If the first application determines it is YES, it proceeds to S709; if it determines it is NO, it proceeds to S708.

[0147] In S708, the first application determines whether the time elapsed since the operation on the confirmation screen displayed in S702 was accepted exceeds a predetermined threshold. This process is the same as in S705. If the first application determines it is YES, it proceeds to S709; if it determines it is NO, it returns to S707.

[0148] In S709, the first application executes a process to display a manual on other connection methods. Specifically, the first application displays a web page containing a manual on other connection methods using its internal browser (in-app browser). The information required to display this web page is obtained from a predetermined server via an internet connection. Therefore, if the communication device 151 is connected to the internet, the web page is successfully displayed. If the communication device 151 is not connected to the internet, the web page is not displayed successfully, and a screen notifying the user that the communication device 151 is not connected to the internet is displayed by the browser. In this embodiment, by displaying the web page using the internal browser of the first application, the first application can continue to operate in the foreground. The manual on other connection methods includes content that explains specific operating procedures for establishing a connection between the communication device 151 and the AP using other connection methods. Specifically, other connection methods include, for example, a method in which the communication device 151 displays a list of APs discovered by the communication device 151 through a search on the screen of the communication device 151, and establishes a Wi-Fi connection between the communication device 151 and the AP selected by the user from the displayed list. Other connection methods include, for example, establishing a Wi-Fi connection between the AP and the communication device 151 using WPS (Wi-Fi Protected Storage). Other connection methods also include, for example, establishing a wired LAN connection between the AP and the communication device 151 using a wired LAN cable. The first application may display a web page for selecting the model of the communication device 151 before displaying a web page displaying a manual for initial setup operations for the communication device 151. Once a model is selected on that page, a manual for other connection methods corresponding to the selected model may be displayed. The manual for other connection methods for the communication device 151 may be displayed by an external browser of the first application, rather than by the internal browser of the first application.In that case, the external browser displaying the manual will move to the foreground, and the first application will move to the background. Furthermore, manuals for other connection methods may be displayed by the first application without using a browser, rather than being displayed as web pages retrieved via the internet, as content already present in the first application.

[0149] In S710, the first application displays a search screen for searching for communication devices 151 on the Wi-Fi network to which terminal device 101 is connected. The display of the search screen is performed in the background of the internal browser while a web page is being displayed by the internal browser. Therefore, if the internal browser is closed by pressing the close button, the search screen will be displayed. The search screen includes a button to instruct the system to start searching for communication devices 151 on the Wi-Fi network to which terminal device 101 is connected. When this button is pressed, the first application searches for communication devices 151 on the Wi-Fi network to which terminal device 101 is connected. The application then displays a list of communication devices 151 found through the search. The first application displays only the communication device 151 that corresponds to the first application from among the multiple communication devices 151 found through the search. The communication device 151 that corresponds to the first application is the communication device 151 provided by the vendor that provides the first application. Furthermore, the search may be performed in such a manner that only communication devices 151 provided by the vendor providing the first application are found, and communication devices 151 provided by other vendors are not found. If any communication device 151 is selected from the displayed list, the first application obtains information about the selected communication device 151 from the selected communication device 151 via the Wi-Fi network to which the terminal device 101 is connected, and registers the selected communication device 151 with the first application. After that, the process of this flowchart is terminated.

[0150] This configuration allows the first app to improve usability when verifying AP passwords. Furthermore, the first app can improve usability when verifying other connection methods.

[0151] <Other Embodiments> In the above-described embodiment, the connection between the communication device 151 operating in connection setting mode and the terminal device 101 is Wi-Fi, but the embodiment is not limited to this embodiment. The connection between the communication device 151 operating in connection setting mode and the terminal device 101 may be established by a communication method other than Wi-Fi, such as Bluetooth Classic or Bluetooth Low Energy. In that case, the terminal device 101 may maintain a Wi-Fi connection with a predetermined AP even while the connection between the communication device 151 operating in connection setting mode and the terminal device 101 is being established. That is, in the embodiment where the connection between the communication device 151 operating in connection setting mode and the terminal device 101 is a Wi-Fi connection, the predetermined AP is an AP to which the terminal device 101 was connected when the process that triggered the start of the flowchart in Figure 3 was executed, but to which the terminal device 101 is not connected when the information of the predetermined AP is transmitted to the communication device 151. On the other hand, in the case where the connection between the communication device 151 operating in connection setting mode and the terminal device 101 is a connection using a communication method other than Wi-Fi, the predetermined AP is the AP to which the terminal device 101 is connected both when the process that triggered the start of the flowchart in Figure 3 is executed and when the information of the predetermined AP is transmitted to the communication device 151. Therefore, it can be said that the predetermined AP is the AP to which the terminal device 101 was connected at least when the process that triggered the start of the flowchart in Figure 3 was executed.

[0152] In the above embodiment, the process of referencing a specific AP does not need to be performed. Specifically, for example, the processes S1209 and S1308-S1312 may be omitted. In this form, if the result of the determination in S1305 is NO, S1313 is executed. Also, if the result of the determination in S1307 is YES, S1319 is executed.

[0153] In the above embodiment, it is not necessary for both the process that references a predetermined AP and the process that references a specific AP to be executed. Specifically, for example, the processes S1209, S1208, and S1305-S1312 may be omitted. In this form, S1313 is executed after S1211.

[0154] In the embodiment described above, the direct connection button does not need to be displayed on the screen shown in S1313. Specifically, for example, the processes S1314 to S1317 may be omitted. In this embodiment, S1318 is executed after S1313.

[0155] In the above embodiment, even if the OS of the terminal device 101 is a version that allows the password to be displayed on the Wi-Fi settings screen by the second application, it is not necessary for both the password confirmation button 503 and the other connection method button 504 to be displayed on the password input screen displayed in S1319. That is, it is possible for one of the two buttons, the password confirmation button 503 and the other connection method button 504, to be displayed on the password input screen displayed in S1319, and the other to be omitted. If the password confirmation button 503 is not displayed on the password input screen displayed in S1319, S1321 and S1322 are omitted, and S1323 is executed if the result of the determination in S1320 is NO. If the other connection method button 504 is not displayed on the password input screen displayed in S1319, S1323 and S1324 are omitted, and S1325 is executed if the result of the determination in S1321 is NO.

[0156] In the above-described embodiment, a password confirmation button 503 is displayed on the password input screen as an area for password confirmation, and when this button is operated, a new password confirmation screen is displayed. However, the system is not limited to this embodiment. An area containing text explaining a specific password confirmation method may also be displayed on the password input screen as an area for password confirmation. In other words, the content that was displayed on the password confirmation screen in the above-described embodiment may be displayed on the password input screen. Furthermore, this content may be displayed on a separate screen that is displayed before the password input screen is displayed. In this embodiment, the password confirmation button 503 does not need to be displayed on the password input screen 500.

[0157] In the above-described embodiment, a button 504 for other connection methods is displayed on the password input screen as an area for other connection methods, and when this button is operated, a new screen for other connection methods is displayed. However, the embodiment is not limited to this form. An area containing text describing other connection methods may also be displayed on the password input screen as an area for other connection methods. In other words, the content that was displayed on the screen for other connection methods in the above-described embodiment may be displayed on the password input screen. Furthermore, this content may be displayed on a separate screen that is displayed before the password input screen is displayed. In this form, the button 504 for other connection methods does not need to be displayed on the password input screen 500.

[0158] In the above-described embodiment, the order in which the decisions in S1320 to S1325 are made is not particularly limited, and the decisions in S1320 to S1325 may be made in any order.

[0159] In the above-described embodiment, the list of APs used in the determinations of S1305 and S1309, or displayed in S1313, is described as a list of APs discovered by a search performed by the communication device 151. However, the embodiment is not limited to this form. The list of APs used in the determinations of S1305 and S1309, or displayed in S1313, may also be a list of APs discovered by a search performed by the terminal device 101. In this form, the processing of S1211 may be omitted.

[0160] In the above embodiment, it is not necessary to perform a process that checks whether the initial setup operation for the communication device 151 has been completed. Specifically, for example, the processes S702 to S706 may be omitted. In this form, S707 is executed after S701.

[0161] Furthermore, the object of the present invention can also be achieved by supplying a recording medium containing program code for software that realizes the functions of the embodiments described above to a system or device. That is, the object of the present invention can also be achieved by the computer (or CPU or MPU) of the system or device reading and executing the program code stored on the recording medium. In this case, the program code read from the storage medium itself realizes the functions of the embodiments described above, and the storage medium containing that program code constitutes the present invention.

[0162] For storing program code, storage media such as flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and DVDs can be used.

[0163] It goes without saying that this also includes cases where the operating system running on the computer performs some or all of the actual processing based on the instructions of the program code read by the computer, and the functions of the aforementioned embodiment are realized through that processing.

[0164] Furthermore, the disclosure of this embodiment includes the following configuration. (Item 1) A program including a first application program for communicating with a communication device, In a computer of an information processing device having an operating system, An acquisition step in which the first application program obtains the password of an access point outside the information processing device and the communication device, which is managed by a second application program different from the first application program, via the file sharing function of the operating system called by the second application program; A first transmission step in which the first application program transmits connection information, including the password obtained via the file sharing function of the operating system, to the communication device; A program characterized by causing the execution of a specific action. (Item 2) The program according to item 1, characterized in that it determines whether the text information shared from the second application program via the file sharing function is in a format corresponding to the password, and if it is determined that it is not in a format corresponding to the password, it further performs a first display step of instructing the operating system to display an error message. (Item 3) The program according to item 2, characterized in that the determination is a process of determining whether or not a specific string is included in the text information shared from the second application program via the file sharing function. (Item 4) The program according to item 3, characterized in that the determination is a process of obtaining the language setting of the information processing device from the operating system and performing the determination based on the obtained language setting. (Item 5) If the language indicated by the language setting is the first language, the determination is a process of determining whether or not the text information shared from the second application program via the file sharing function contains a first string corresponding to the first language. The program according to item 4, characterized in that, when the language indicated by the language setting is a second language, the determination is a process of determining whether or not the text information shared from the second application program via the file sharing function contains a second string corresponding to the second language. (Item 6) The program according to any one of items 2 to 5, characterized in that, in the first display step, if it is determined that the format corresponds to the password, the program instructs the operating system to display a message indicating that the sharing of the password has been accepted. (Item 7) The program according to any one of items 1 to 6, characterized in that it further performs a modification step of changing text information shared from the second application program via the file sharing function into a predetermined format. (Item 8) The aforementioned program includes an application extension, The program according to any one of items 2 to 7, characterized in that the first display step is performed by the application extension. (Item 9) The program according to item 8, characterized in that the application extension acquires data via the file sharing function of the operating system, stores a password based on the data in an area accessible to the first application program, and causes the first application program to execute the step of acquiring the stored password in the acquisition step. (Item 10) The program according to any one of items 1 to 9, characterized in that the acquisition step involves causing the second application program to perform the step of acquiring the SSID and password of the access point via the file sharing function. (Item 11) The program according to any one of items 1 to 10, characterized in that the first transmission step causes the first application program to perform a step of transmitting the connection information without accepting the selection of the access point. (Item 12) If the password could not be obtained from the second application program via the file sharing function in the acquisition step, a second display step is performed to display a password input screen. A second transmission step in which the first application program transmits connection information, including the password entered on the password input screen, to the communication device. A program according to any one of items 1 to 11, characterized in that it further executes the following. (Item 13) The program according to item 12, characterized in that the password input screen can display an area for the second application program to allow the user to confirm the password. (Item 14) The program according to item 13, characterized in that the area for causing the user to confirm the password in the second application program is an area for displaying the procedure for confirming the password in the second application program. (Item 15) The program according to any one of items 1 to 14, characterized in that, when an image file managed by a third application program is obtained via the file sharing function of the operating system called from the third application program, the program further causes the communication device to send a print job for printing based on the image file via the access point. (Item 16) An information processing device having a program that includes a first application program for communicating with a communication device, and an operating system, An acquisition means for the first application program to acquire the password of an access point outside the information processing device and the communication device, which is managed by a second application program different from the first application program, via the file sharing function of the operating system called by the second application program; A first transmission means that transmits connection information, including the password obtained via the file sharing function of the operating system, to the communication device using the first application program, An information processing device characterized by having the following features. (Item 17) A control method for an information processing device having a program including a first application program for communicating with a communication device and an operating system, An acquisition step in which the first application program obtains the password of an access point outside the information processing device and the communication device, which is managed by a second application program different from the first application program, via the file sharing function of the operating system called by the second application program; A first transmission step in which the first application program transmits connection information, including the password obtained via the file sharing function of the operating system, to the communication device; A control method characterized by having the following features. [Explanation of symbols]

[0165] 101 Terminal device 151 Communication equipment

Claims

1. A program including a first application program for communicating with a communication device, In a computer of an information processing device having an operating system, An acquisition step in which the first application program obtains the password of an access point outside the information processing device and the communication device, which is managed by a second application program different from the first application program, via the file sharing function of the operating system called by the second application program; A first transmission step in which the first application program transmits connection information, including the password obtained via the file sharing function of the operating system, to the communication device; A program characterized by causing the execution of a specific action.

2. The program according to claim 1, further characterized in that it determines whether the text information shared from the second application program via the file sharing function is in a format corresponding to the password, and if it is determined that it is not in a format corresponding to the password, it instructs the operating system to display an error message.

3. The program according to claim 2, characterized in that the determination is a process of determining whether or not a specific string is included in the text information shared from the second application program via the file sharing function.

4. The program according to claim 3, characterized in that the determination is a process of obtaining the language setting of the information processing device from the operating system and performing the determination based on the obtained language setting.

5. If the language indicated by the language setting is the first language, the determination is a process of determining whether or not the text information shared from the second application program via the file sharing function contains a first string corresponding to the first language. The program according to claim 4, characterized in that, if the language indicated by the language setting is a second language, the determination is a process of determining whether or not the text information shared from the second application program via the file sharing function contains a second string corresponding to the second language.

6. The program according to claim 2, characterized in that, in the first display step, if it is determined that the format corresponds to the password, the program instructs the operating system to display a message indicating that the sharing of the password has been accepted.

7. The program according to claim 1, further characterized by causing the program to perform a modification step of changing text information shared from the second application program via the file sharing function into a predetermined format.

8. The aforementioned program includes an application extension, The program according to claim 2, characterized in that the first display step is performed by the application extension.

9. The program according to claim 8, characterized in that the application extension acquires data via the file sharing function of the operating system, stores a password based on the data in an area accessible to the first application program, and causes the first application program to execute the step of acquiring the stored password in the acquisition step.

10. The program according to claim 1, characterized in that the acquisition step involves causing the second application program to execute the step of acquiring the SSID and password of the access point via the file sharing function.

11. The program according to claim 1, characterized in that the first transmission step causes the first application program to perform a step of transmitting the connection information without accepting the selection of the access point.

12. If the password could not be obtained from the second application program via the file sharing function in the acquisition step, a second display step is performed to display a password input screen. A second transmission step in which the first application program transmits connection information, including the password entered on the password input screen, to the communication device. The program according to claim 1, characterized in that it further executes the following:

13. The program according to claim 12, characterized in that the password input screen can display an area for the second application program to allow the user to confirm the password.

14. The program according to claim 13, characterized in that the area for causing the user to confirm the password in the second application program is an area for displaying the procedure for confirming the password in the second application program.

15. The program according to claim 1, characterized in that, when an image file managed by a third application program is obtained via the file sharing function of the operating system called from the third application program, the program further causes the program to execute a third transmission step of sending a print job to the communication device via the access point for printing based on the image file.

16. An information processing device having a program including a first application program for communicating with a communication device, and an operating system, An acquisition means for the first application program to acquire the password of an access point outside the information processing device and the communication device, which is managed by a second application program different from the first application program, via the file sharing function of the operating system called by the second application program; A first transmission means that transmits connection information, including the password obtained via the file sharing function of the operating system, to the communication device using the first application program, An information processing device characterized by having the following features.

17. A control method for an information processing device having a program that includes a first application program for communicating with a communication device and an operating system, An acquisition step in which the first application program obtains the password of an access point outside the information processing device and the communication device, which is managed by a second application program different from the first application program, via the file sharing function of the operating system called by the second application program; A first transmission step in which the first application program transmits connection information, including the password obtained via the file sharing function of the operating system, to the communication device; A control method characterized by having the following features.

Citation Information

Patent Citations

  • Information processing device, control method, and program

    JP2016127545A

Cited By

  • Communication systems, communication devices, and communication methods

    JP2026091458A