PROGRAM, INFORMATION PROCESSING APPARATUS, AND METHOD FOR CONTROLLING INFORMATION PROCESSING APPARATUS
The method addresses the issue of Toast displays disappearing quickly by controlling the display of notification content based on line breaks and character count, ensuring visibility for users with large amounts of text.
Patent Information
- Application Number
- JP2021161331
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-30
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2041-09-30
AI Technical Summary
Toast displays on smartphones automatically disappear after a certain period, potentially reducing visibility when displaying large amounts of characters, which can hinder user experience.
A method to control the display of notification content using the Toast function by specifying the number of line breaks and characters, allowing for the sequential display of different parts of the content.
Ensures visibility for users when displaying large amounts of characters by controlling the display method based on line breaks and character count, enhancing user experience.
Smart Images

Figure 0007746099000001 
Figure 0007746099000002 
Figure 0007746099000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to techniques for displaying a UI. [Background technology]
[0002] One of the UI displays on smartphones is called the Toast display. The Toast display is a notification area that is displayed at the forefront of the smartphone screen. The Toast display is also simply called Toast.
[0003] Toasts are automatically hidden after a certain period of time has passed. Furthermore, even while a Toast is displayed, it is possible to operate the screen displayed behind the Toast by operating an area other than the Toast, minimizing interference with user operations. Furthermore, since the function to display a Toast is a function of the OS, when a Toast is displayed, a request to display the Toast is sent to the OS along with the content of the message to be included in the Toast. This is how the Toast is displayed. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2019-36315 Summary of the Invention [Problem to be solved by the invention]
[0005] As described in Patent Document 1, Toast display can provide an excellent user experience (UX) that is not available in other display UIs such as other dialog displays. However, because Toast display is automatically hidden after a certain period of time, there is a possibility that visibility may deteriorate if there are a large number of characters to be displayed in the Toast, for example, the Toast display may disappear before the user finishes reading the characters.
[0006] Therefore, an object of one embodiment of the present invention is to provide a UI display that ensures visibility for the user even when the number of displayed characters is large. [Means for solving the problem]
[0007] One embodiment of the present invention causes a computer of an information processing device to execute a specifying step of specifying notification content, and a notification step of executing a process for notifying the specified notification content by a predetermined notification method based on at least one of the number of line breaks included in the specified notification content and the number of characters included in the specified notification content, wherein the predetermined notification method is a notification method in which a first part of the specified notification content is displayed, and after the display of the first part is completed, a second part of the specified notification content that is different from the first part is displayed. The notification content is displayed by Toast, and whether the notification content is displayed by a Toast function or a function different from the Toast function is controlled based on at least one of the number of line breaks included in the specified notification content and the number of characters included in the specified notification content. The program is characterized by the above. [Effects of the Invention]
[0008] According to one embodiment of the present invention, it is possible to provide a UI display that ensures visibility for the user even when the number of characters to be displayed is large. [Brief explanation of the drawings]
[0009] [Figure 1] Communication System Block Diagram [Figure 2] Flowchart of pairing processing executed by the information processing device [Figure 3] Screen displayed when starting the printing app [Figure 4] An example of the BT setting screen displayed by the setting app [Figure 5] PIN code display screen displayed on the display unit of the communication device [Figure 6] The BT setting screen displayed by the setting app and the Toast displayed by the printing app [Figure 7]A screen showing the operation procedures to be performed by the user on the BT setting screen and the name of the communication device to be selected on the BT setting screen [Figure 8] FIG. 1 is a diagram for explaining the process of broadcasting advertisement information and receiving connection request information. [Figure 9] Diagram to explain advertising in BLE [Figure 10] Diagram showing the structure of advertisement information [Figure 11] Flowchart of UI display processing in the first embodiment [Figure 12] Toast UI display as a result of the first embodiment [Figure 13] Flowchart of UI display processing in the second embodiment DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, embodiments of the present disclosure will be described in detail. Note that the following embodiments are examples for explaining the technology of the present disclosure, and are not intended to limit the present invention to the following content alone. Furthermore, the present invention can be modified in various ways without departing from the gist of the present invention.
[0011] [First embodiment] <System configuration> A communication system according to this embodiment will be described below. This communication system includes an information processing device and a communication device. In the following embodiment, a smartphone is assumed as the information processing device, but the information processing device is not limited to a smartphone. Various types of information processing devices can be used, such as a mobile terminal, a notebook PC, a tablet terminal, a PDA (Personal Digital Assistant), a digital camera, etc.
[0012] In the following embodiments, a printer is assumed as the communication device, but the communication device is not limited to a printer. Various devices capable of wireless communication with an information processing device can be used. For example, printers include inkjet printers, full-color laser beam printers, and monochrome printers. In addition to printers, other devices can also be used, such as copiers, facsimile machines, mobile terminals, smartphones, notebook PCs, tablet terminals, PDAs, digital cameras, music playback devices, and televisions. Furthermore, multifunction devices with multiple functions, such as copying, faxing, and printing, can also be used.
[0013] First, the configuration of the communication system in this embodiment will be described with reference to Fig. 1. As shown in Fig. 1, the communication system includes an information processing device 101 and a communication device 151.
[0014] The information processing 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 communication unit 111, and a short-range communication unit 112. A display unit 108 is connected to the information processing device 101. Although the information processing device 101 and the display unit 108 are shown as separate units in FIG. 1, the information processing device 101 may include the display unit 108.
[0015] The input interface 102 is an interface for receiving data input and operation instructions from the user by operating the mouse 110 and keyboard 109 .
[0016] The CPU 103 is a system control unit that controls each unit of the information processing device 101 and controls the overall operation of the information processing device 101 .
[0017] The ROM 104 stores fixed data such as control programs and data tables executed by the CPU 103, and an embedded operating system (hereinafter referred to as OS) program. In this embodiment, each control program stored in the ROM 104 controls software execution such as scheduling, task switching, and interrupt processing under the management of the embedded OS stored in the ROM 104. In this embodiment, the OS of the information processing device 101 is Android (registered trademark). However, the OS is not limited to this, and other OSs such as iOS (registered trademark), macOS (registered trademark), and Linux (registered trademark) may also be used.
[0018] In this embodiment, the OS of the information processing device 101 has a notification function for displaying various types of information on the display unit 108 and notifying the user of various types of information. In this embodiment, the notification function includes a Toast function. Each notification function is executed by the OS when an application program requests the OS to notify the OS using the notification function. The content notified by each notification function (displayed in the notification area) can be determined arbitrarily by the application program. When a notification by each notification function is requested of the OS, the content is also notified to the OS.
[0019] The Toast function displays a notification area called a Toast. A Toast is a notification area that disappears after a certain period of time has passed since it popped up. While the size of a Toast is not limited, it is preferable that the size of the Toast be equivalent to a portion of the display area so that the screen of the application program displayed below the Toast is not completely covered. Note that even if a user operation is accepted for a Toast, no processing corresponding to the notification area is executed. Examples of processing corresponding to the notification area include starting the application program that requested the notification, processing based on a message notified by the notification area, and processing corresponding to a button displayed in the notification area. Furthermore, even when a Toast is displayed, the screen of the application program displayed below the Toast can accept user operations. Furthermore, notifications using the Toast function can be executed even when the application program that requested the notification is not running in the foreground (running in the background) and another application program is running in the foreground.
[0020] The notification function of the OS may include functions other than the Toast function, such as a Notification function, a SnackBar function, and a Dialog function.
[0021] The Notification function is a function that displays a notification area called Notification. Notification is a notification area that is displayed by push notification or the like, and disappears when the user performs an operation to confirm the notification. When a user operation on Notification is accepted, processing corresponding to the notification area is executed. Notification by the Notification function can be executed even when the application program that requested the notification is not running in the foreground (is running in the background) and another application program is running in the foreground.
[0022] The SnackBar function displays a notification area called a SnackBar. The SnackBar is a notification area that disappears after a certain period of time has elapsed since it was displayed. Whether or not a process corresponding to the notification area is executed when a user operation is accepted on the SnackBar can be set arbitrarily by the application program that requested the notification via the SnackBar function. The notification via the SnackBar function cannot be executed when the application program that requested the notification is not running in the foreground (running in the background) and another application program is running in the foreground. In other words, the notification via the SnackBar function can only be executed when the application program that requested the notification via the SnackBar function is running in the foreground.
[0023] The Dialog function is a function that displays a notification area called a Dialog. A Dialog is a notification area that disappears after it is displayed when the user performs an operation to confirm the notification. Specifically, a button may be displayed in a Dialog, and the Dialog disappears when the user operates the displayed button. The process corresponding to the button whose input was accepted is then executed by the application program that requested the notification by the Dialog function. A notification by the Dialog function cannot be executed when the application program that requested the notification is not running in the foreground (is running in the background) and another application program is running in the foreground. In other words, a notification by the Dialog function can only be executed when the application program that requested the notification by the Dialog function is running in the foreground.
[0024] The RAM 105 is composed of a static random access memory (SRAM) or the like that requires a backup power source. Since the RAM 105 holds data using a primary battery (not shown) for data backup, important data such as program control variables can be stored without volatilization. The RAM 105 also has a memory area for storing setting information for the information processing device 101, management data for the information processing device 101, and the like. The RAM 105 is also used as the main memory and work memory for the CPU 103.
[0025] The external storage device 106 stores an application program that provides a print execution function, a print job creation program that creates a print job that can be interpreted by the communication device 151, and the like. The external storage device 106 also stores various programs, such as an information transmission / reception control program that is transmitted and received between the external storage device 106 and the communication device 151 connected via the communication unit 111, as well as various information used by these programs.
[0026] The output interface 107 is an interface that controls the display unit 108 to display content based on data and to notify the status of the information processing device 101 .
[0027] The display unit 108 is composed of an LED (light emitting diode), an LCD (liquid crystal display), etc., and performs data-based display and notification of the status of the information processing device 101. Note that by providing operation units such as numeric input keys, mode setting keys, a decision key, a cancel key, and a power key on the display unit 108, input from the user may be accepted via the display unit 108.
[0028] The communication unit 111 is a component for connecting to the communication device 151 or a device such as an external access point (not shown) that is external to the information processing device 101 and the communication device 151, and performing data communication. For example, the communication unit 111 can be connected to an access point (not shown) within the communication device 151. By connecting the communication unit 111 to the access point within the communication device 151, the information processing device 101 and the communication device 151 can communicate with each other. The communication unit 111 may communicate directly with the communication device 151 via wireless communication, or may communicate with the communication device 151 via an external device that is external to the information processing device 101 or the communication device 151. The external device includes an external access point and a device that can relay communication other than an access point. Examples of wireless communication methods include Wi-Fi (Wireless Fidelity) (registered trademark) and Bluetooth (registered trademark). Examples of external access points include devices such as a wireless LAN router. In this embodiment, a method in which the information processing device 101 and the communication device 151 are directly connected without going through an external access point is called a direct connection method, and a method in which the information processing device 101 and the communication device 151 are connected through an external access point is called an infrastructure connection method.
[0029] The short-range communication unit 112 is a component for wirelessly connecting to a device such as the communication device 151 at a short distance and performing data communication, and performs communication using a communication method different from that of the communication unit 111. The short-range communication unit 112 can be connected to, for example, the short-range communication unit 157 in the communication device 151. Examples of communication methods include Bluetooth (registered trademark) and WiFi Aware. In this embodiment, the short-range communication unit 112 is capable of performing communication using Bluetooth Low Energy (BLE) and Bluetooth Classic as Bluetooth functions.
[0030] In this embodiment, it is assumed that the communication unit 111 can perform communication at a higher speed than the short-range communication unit 112. Also, it is assumed that the distance over which communication is possible using the communication unit 111 is longer than the distance over which communication is possible using the short-range communication unit 112.
[0031] The communication device 151 includes a ROM 152 , a RAM 153 , a CPU 154 , a print engine 155 , a communication unit 156 , and a short-range communication unit 157 .
[0032] The communication unit 156 has an access point for connecting to devices such as the information processing device 101 as an access point inside the communication device 151. This access point is connectable to the communication unit 111 of the information processing device 101. The communication unit 156 may communicate directly with the information processing device 101 via wireless communication, or may communicate with the information processing device 101 via an external access point. Examples of communication methods include Wi-Fi (registered trademark) and Bluetooth (registered trademark). The communication unit 156 may have hardware that functions as an access point, or may operate as an access point using software that causes it to function as an access point.
[0033] The short-range communication unit 157 is a component for wirelessly connecting to a device such as the information processing device 101 at a short distance to perform data communication, and can be connected to, for example, the short-range communication unit 112 in the information processing device 101. Examples of communication methods include Bluetooth and WiFi Aware. In this embodiment, the short-range communication unit 157 is capable of performing communication using BLE and Bluetooth Classic as Bluetooth functions.
[0034] In this embodiment, it is assumed that communication unit 156 can perform communication at a higher speed than short-range communication unit 157. Also, it is assumed that the distance over which communication unit 156 can communicate is longer than the distance over which short-range communication unit 157 can communicate.
[0035] The RAM 153 is composed of an SRAM or the like that requires a backup power source. Since the RAM 153 holds data using a primary battery (not shown) for data backup, important data such as program control variables can be stored without volatilization. The RAM 153 also has a memory area for storing setting information for the communication device 151, management data for the communication device 151, and the like. The RAM 153 is also used as the main memory and work memory for the CPU 154, and functions as a receive buffer for temporarily storing print information received from the information processing device 101, etc., and stores various types of information.
[0036] The 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 the ROM 152 controls software execution such as scheduling, task switching, and interrupt processing under the management of the embedded OS stored in the ROM 152.
[0037] The CPU 154 is a system control unit that controls each unit of the communication device 151 and controls the overall operation of the communication device 151 .
[0038] The print engine 155 executes an image formation process that forms an image on a recording medium such as paper by applying a recording agent such as ink to the recording medium based on information stored in the RAM 153 or a print job received from the information processing device 101 or the like, and outputs the print result. Note that a print job is a job that causes the communication device 151 to execute the image formation process. When executing the image formation process based on a print job, the print job transmitted from the information processing device 101 or the like has a large amount of data and requires high-speed communication, so the print job is received via the communication unit 156, which is capable of communication at a higher speed than the short-range communication unit 157.
[0039] Note that the communication device 151 may be equipped with an optional memory such as an external HDD or SD card, and the information stored in the communication device 151 may be stored in the memory.
[0040] In addition, the communication device of this embodiment has a connection mode set by the connection setting process, and communicates with the information processing device using a connection form based on the set connection mode. For example, when communicating via infrastructure connection, the communication device of this embodiment sets the infrastructure connection mode as the connection mode, and when communicating via direct connection, the communication device sets the direct connection mode as the connection mode.
[0041] Here, the process sharing between the information processing device 101 and the communication device 151 is shown as above as an example, but the sharing is not limited to the above-mentioned form and may be in another form.
[0042] In addition, in this embodiment, the short-range communication unit 112 and the short-range communication unit 157 will be described as communicating with each other using BLE. In this embodiment, the short-range communication unit 157 functions as an advertiser (or slave) that broadcasts advertising information (described later), and the short-range communication unit 112 functions as a scanner (or master) that receives the advertising information. In addition, the communication unit 111 and the communication unit 156 will be described as communicating with each other using wireless LAN (Wi-Fi). Here, with reference to FIG. 8, a process of transmitting advertising information and receiving a BLE connection request according to the BLE standard will be described. In this embodiment, since the short-range communication unit 157 operates as a slave device as described above, the short-range communication unit 157 will be described as performing the above process.
[0043] The short-range communication unit 157 performs communication by dividing the 2.4 GHz frequency band into 40 channels (channels 0 to 39) in accordance with the BLE communication standard. The short-range communication unit 157 uses channels 37 to 39 for transmitting advertising information and receiving BLE connection requests, and channels 0 to 36 for data communication (e.g., GATT communication) after BLE connection. In FIG. 8, the vertical axis represents the power consumption of the short-range communication unit 157, and the horizontal axis represents time. The graph shows the power consumption for transmitting advertising information using one channel for each process. Tx 805 represents the total power consumption in the transmission process, which is the process of broadcasting advertising information, and Rx 806 represents the total power consumption in the reception process, which is the process of keeping the receiver enabled to receive BLE connection requests. Transmission power 802 represents the instantaneous power consumption due to the transmission process. Furthermore, reception power 803 represents the instantaneous power consumption due to the reception process. Furthermore, microcontroller operating power 801 represents the instantaneous power consumption when the microcontroller in the short-range communication unit 157 is operating. The microcomputer operates before, during, and after Tx805 and Rx806 because the microcomputer must be activated beforehand to execute or stop transmission and reception processes. If advertising information is transmitted over multiple channels, power consumption increases by the number of channels used to transmit the advertising information. While the microcomputer is not operating and the near-field communication unit 157 is in a power-saving state, sleep power 804 is the instantaneous power consumption of the near-field communication unit 157. In this way, the near-field communication unit 157 performs transmission processing using a predetermined channel, and then performs reception processing for a certain period of time using the same channel, thereby waiting for a BLE connection request to be transmitted from the information processing device 101. When the near-field communication unit 157 receives a BLE connection request from the information processing device 101, it establishes a BLE connection and performs GATT communication with the information processing device 101.
[0044] As shown in Fig. 9, the short-range communication unit 157 repeats the process of transmitting and receiving advertising information three times for each channel, and then stops the operation of the microcomputer and enters a power-saving state for a certain period of time. Hereinafter, the combination of the process of transmitting and receiving advertising information via a predetermined channel is referred to as "advertising." Also, the time interval for transmitting advertising information via a predetermined channel is referred to as "advertising interval." Note that the number of times advertising is repeated from the first advertising until entering the power-saving state can be changed as long as it is three or less.
[0045] FIG. 10 shows an example of the structure of advertising information that the short-range communication unit 157 broadcasts to the vicinity of the communication device 151.
[0046] When power supply starts, the short-range communication unit 157 performs initialization processing and enters an advertising state. When the short-range communication unit 157 enters the advertising state, it periodically broadcasts advertising information to its surroundings based on an advertising interval. The advertising information is a signal including basic header information (such as identification information for identifying the device that transmits the advertising information) and is composed of a header 1001 and a payload 1002. By receiving this advertising information, the information processing device 101 can recognize the presence of the communication device 151. Furthermore, the information processing device 101 can establish a BLE connection with the communication device 151 by transmitting a BLE connection request to the communication device 151. The header 1001 is an area for storing information such as the type of advertising information and the size of the payload 1002. The payload 1002 stores information such as a device name 1003 as identification information, installed profile information, connection information 1004 for BLE connection with the communication device 151, and transmission power (Tx Power) 1005 of the advertising information. Note that the advertising information may include identification information 1006 of the communication device. Examples of the identification information 1006 of the communication device include the MAC address of the communication device, service information of the communication device, the SSID and password of an access point within the communication device, etc.
[0047] In this embodiment, the short-range communication unit 157 is set to an advertising state and starts transmitting advertising information when the power of the communication device 151 is turned on. However, the timing at which the short-range communication unit 157 starts transmitting advertising information is not limited to the above-described form, and may be, for example, the timing at which a predetermined operation is performed to enable the BLE function.
[0048] For example, the short-range communication unit 157 may first transmit first advertising information, and when receiving a response to the first advertising information from the information processing device 101, transmit second advertising information whose content differs from that of the first advertising information. Note that, for example, the first advertising information includes information on the transmission power of the advertising information and identification information of the short-range communication unit 157. The second advertising information includes identification information of the communication device 151 and information on the functions and hardware of the communication device 151. In such a case, for example, a printing application is designed to handle the second advertising information. Therefore, in the following description, the advertising information handled by the printing application is assumed to be the second advertising information.
[0049] In the present embodiment, authentication is performed between the information processing device 101 and the communication device 151, and pairing processing is performed between the devices to read and write data using GATT (Generic Attribute Profile) communication. GATT is a profile that governs reading and writing (transmission and reception) of information in the BLE standard. GATT communication is communication in which the information processing device 101 serves as a GATT client and the communication device 151 serves as a GATT server, and information is read and written from the information processing device 101 to the communication device 151 using a GATT-based profile. In a state in which pairing is not performed between the information processing device 101 and the communication device 151, the communication device 151 is configured not to permit reading and writing of information using GATT communication. This can prevent communication between the information processing device 101 and the communication device 151 that are not paired, and can prevent, for example, information held by the communication device 151 from being inadvertently acquired by the information processing device 101 that is not paired. In this embodiment, it is assumed that there are GATT communications that are permitted when pairing is not performed and GATT communications that are not permitted when pairing is not performed. By allowing low confidentiality information to be communicated by GATT communications that are permitted when pairing is not performed, it is possible to improve the convenience of communication. On the other hand, by allowing high confidentiality information to be communicated only by GATT communications that are not permitted when pairing is not performed, it is possible to improve the security of communication.
[0050] In this embodiment, the information processing device 101 is assumed to have a predetermined application stored in the ROM 104, the external storage device 106, or the like. The predetermined application is, for example, a printing application program for sending a print job to the communication device 151 to print image data, document data, or the like stored in the information processing device 101. An application having such a function will hereinafter be referred to as a "printing application." Note that the printing application may have other functions in addition to the printing function. For example, if the communication device 151 has a scanning function, the printing application may have a function for scanning a document placed in the communication device 151, a function for configuring other settings for the communication device 151, a function for checking the status of the communication device 151, and the like. In other words, the printing application may have a function for sending a scan job or a setting job to the communication device 151 in addition to a print job. Furthermore, the predetermined application is not limited to a printing application and may be an application program having a function other than printing.
[0051] The information processing device 101 may communicate with the communication device 151, for example, via BLE, to use the functions of a printing app. Specifically, for example, when executing processing using a printing function, the information processing device 101 first exchanges connection information for WiFi communication via BLE communication, and then transmits a print job to the communication device 151 via WiFi communication. Therefore, in order to use the functions of the printing app, the information processing device 101 preferably executes pairing processing in BLE to enable BLE communication with the communication device 151. Therefore, in this embodiment, the printing app also has a function of executing pairing processing between the information processing device 101 and the communication device 151. Below, a form in which pairing processing is executed via the printing app will be described.
[0052] 3 shows an example of a screen displayed on the display unit 108 when a printing application is launched. Via a launch screen 300, a user can use functions of the communication device, such as printing a desired image and configuring the communication device. When the CPU 103 of the information processing device 101 detects that a print photo button 301 has been pressed, the CPU 103 causes the communication device 151 to display a screen for causing the communication device 151 to execute printing. Furthermore, when the CPU 103 of the information processing device 101 detects that a scan button 302 has been pressed, the CPU 103 causes the communication device 151 to display a screen for causing the communication device 151 to execute a scan process, which is a process for reading a document and creating image data. Furthermore, when the CPU 103 of the information processing device 101 detects that a BLE pairing button 303 has been pressed, the CPU 103 starts pairing processing.
[0053] The information processing device 101 of this embodiment is assumed to have a setting application (hereinafter referred to as the "setting application"). The setting application is an application program for making settings related to functions executed by the OS. The setting application is, for example, an application program that is installed together with the OS in a series of processes when the OS is installed in the information processing device 101, or that is pre-installed in the information processing device 101 together with the OS when the information processing device 101 arrives. When pairing with the communication device 151, the information processing device 101 of this embodiment accepts input for pairing from the user on a Bluetooth setting screen (hereinafter referred to as the "BT setting screen") displayed by the setting application. Specifically, the information processing device 101 accepts input for pairing from the user on the BT setting screen displayed by the setting application. This is because, for example, depending on the type of OS installed in the information processing device 101 or the model of the information processing device 101, pairing processing cannot be performed on a screen displayed by a program other than the setting application, i.e., a printing application. Therefore, the information processing device 101 also uses the BT setting screen displayed by the setting app when performing pairing processing via the printing app. In this embodiment, a form will be described that can improve the usability of pairing processing performed via both the screen displayed by the printing app and the screen displayed by a program other than the printing app (here, the setting app).
[0054] FIG. 2 is a flowchart showing the pairing process executed by the information processing device 101. The flowchart shown in FIG. 2 is realized, for example, by the CPU 103 reading a program stored in the ROM 104, the external storage device 106, or the like into the RAM 105 and executing it. In this embodiment, the process shown in the flowchart shown in FIG. 2 is executed by a printing app. In addition, in this embodiment, the printing app is configured to receive notifications of occurrence of various events, such as "pairing," "pairing completed," and "pairing failed," via a BT setting screen displayed by a setting app. Whether the printing app actually receives event notifications can be switched by a notification setting, which will be described later. Details of the various events will be described later. The process shown in the flowchart shown in FIG. 2 is started when the BLE pairing button 303 is pressed by the user.
[0055] First, in step S201, the CPU 103 determines whether the Bluetooth function of the information processing device 101 is enabled. Note that a state in which the Bluetooth function is enabled means a state in which the information processing device 101 is able to perform communication via Bluetooth or BLE. Also, as described above, the short-range communication unit 112 operates as a scanner in the BLE communication standard. Therefore, when the information processing device 101 is able to perform communication via BLE, the CPU 103 transitions the short-range communication unit 112 to a state in which advertising information can be received (scanning state), and searches for advertising information. If the CPU 103 determines that the Bluetooth function is enabled, the process proceeds to step S203, and if the CPU 103 determines that the Bluetooth function is not enabled (disabled), the process proceeds to step S202. Note that hereinafter, "step S~" will be abbreviated as "S~".
[0056] In S202, the CPU 103 enables the disabled Bluetooth function. At this time, the CPU 103 may display a dialog on the display unit 108 to prompt the user to select whether to enable the Bluetooth function, and enable the Bluetooth function when an instruction from the user is received via the dialog.
[0057] Next, in S203, the CPU 103 determines whether or not advertising information has been received by the short-range communication unit 112 after accepting pressing of the BLE pairing button 303. If it is determined that advertising information has been received, the CPU 103 proceeds to S204, and if it is determined that advertising information has not been received, the CPU 103 waits for a predetermined time and then performs the process of S203 again to wait for reception of advertising information.
[0058] Next, in S204, the CPU 103 determines whether the received advertising information includes specific identification information. In this embodiment, when the information processing device 101 performs pairing processing via a printing app, it communicates with a communication device of a model or vendor that is compatible with the printing app. Therefore, the specific identification information is identification information that indicates that the communication device that transmitted the received advertising information is a communication device of a model that is compatible with the printing app, or is a communication device provided by a specific vendor that is compatible with the printing app. More specifically, the specific identification information is information that indicates that the communication device that transmitted the received advertising information can provide a printing service (image forming function), or information such as the model name or vendor name of the communication device that transmitted the received advertising information. Note that the identification information may be any information that can uniquely identify a communication device that is compatible with the printing app, and may be, for example, an IP address, a MAC address, or ID information. If the CPU 103 determines that specific identification information is included, it proceeds to S205, and if it determines that specific identification information is not included, it waits for a predetermined time and then performs the process of S203 again, thereby waiting for reception of advertising information. Note that if the short-range communication unit 112 has received multiple pieces of advertising information after accepting pressing of the BLE pairing button 303, the CPU 103 performs the determination of S204 for each piece of advertising information. Then, if there is at least one piece of advertising information that includes specific identification information, the CPU 103 proceeds to S205.
[0059] In S205, CPU 103 displays information about the communication device that is the sender of the advertising information including the specific identification information on display unit 108. The information about the communication device is included in the advertising information including the specific identification information, and is, for example, information such as the name, IP address, and MAC address of the communication device. If multiple pieces of advertising information including the specific identification information are received, CPU 103 displays information about the communication device that is the sender of each piece of advertising information. The screen that displays information about the communication device that is the sender of the advertising information including the specific identification information is a screen that allows the user to select a communication device that will be the target of the pairing process. That is, here, the printing application displays a screen that allows the user to select a communication device that will be the target of the pairing process. Furthermore, because filtering was performed in S204, information about communication devices that are compatible with the printing application (that can execute various functions using the printing application) is displayed, and information about communication devices that are not compatible with the printing application is not displayed.
[0060] Next, in S206, CPU 103 determines whether or not a selection of a communication device to be a target of pairing processing has been received from the user via the screen displayed in S205. Specifically, CPU 103 determines whether or not any information related to the communication devices included in the screen displayed in S205 has been selected. If CPU 103 determines that a selection has been received from the user, it proceeds to S207. If CPU 103 determines that a selection has not been received from the user, it performs the processes of S203 to S206 again and waits for a selection from the user. Note that if CPU 103 determines that a selection has not been received from the user, it may perform the processes from S203 onwards again while keeping the screen for prompting the user to select a communication device to be a target of pairing processing displayed on display unit 108. This makes it possible to add information about the sender of the newly received advertising information to the screen for prompting the user to select a communication device to be a target of pairing processing. Furthermore, if it is determined that a selection has been received from the user, the CPU 103 considers that an instruction to execute pairing processing has been received from the user, and specifies the communication device corresponding to the selected information as the communication device to be paired. Here, the description will proceed assuming that the user has selected a communication device named "PrinterA."
[0061] In S207, the CPU 103 stores information about the communication device to be paired in a predetermined storage area such as the external storage device 106 or the ROM 104. The information about the communication device to be paired is, for example, advertising information transmitted by the communication device to be paired.
[0062] Next, in S208, the CPU 103 transmits a request to start GATT communication to the communication device to be paired based on the information saved in S207. As a result, the information processing device 101 and the communication device to be paired become capable of GATT communication for information that can be communicated without pairing.
[0063] Next, in S209, the CPU 103 transmits identification information related to the information processing device 101 to the communication device to be paired via GATT communication. At this time, the CPU 103 transmits the identification information via GATT communication, which is permitted when pairing is not performed. Specifically, the CPU 103 writes the identification information to an area of the GATT profile of the communication device to be paired that is writable when pairing is not performed. The identification information related to the information processing device 101 is, for example, information such as the name, IP address, and MAC address of the information processing device 101. If the CPU 103 has successfully transmitted the identification information, it terminates the GATT communication and proceeds to S210. Here, the CPU 103 may repeatedly transmit the identification information until the transmission of the identification information is successful. During this time, the CPU 103 may display a dialog or the like on the display unit 108 to allow the user to interrupt the processing, or may interrupt the processing as a timeout after a predetermined time has elapsed.
[0064] When a communication device to be paired receives identification information transmitted from the information processing device 101 via GATT communication, the communication device stores the received identification information in a storage area of the communication device. The communication device to be paired accepts pairing process requests only while the identification information is stored in the storage area. The communication device to be paired accepts pairing process requests only from information processing devices corresponding to the identification information stored in the storage area. This allows the communication device to be paired to restrict its acceptance of pairing process requests to only when the pairing process is executed via a printing app. The communication device to be paired determines whether the pairing process is completed and whether a predetermined time has elapsed since the identification information was stored, and deletes the identification information from the storage area if either result of the determination process is true.
[0065] Note that the process executed by the communication device to be paired upon receiving the pairing process request is not limited to the above-described form. For example, the communication device to be paired may receive identification information from the information processing device 101 after receiving the pairing process request from the information processing device 101. In this case, the communication device to be paired determines whether the identification information received from the information processing device 101 after receiving the pairing process request from the information processing device 101 matches the information about the information processing device 101 included in the pairing process request. If the two match, the communication device to be paired accepts the pairing process request and starts the pairing process, and if the two do not match, the communication device does not accept the pairing process request and does not start the pairing process.
[0066] Next, in S210, the CPU 103 displays on the display unit 108 a screen indicating the procedure of operations to be performed by the user in the pairing process. As described above, in this embodiment, operations required for the pairing process, such as input of information required for pairing, are performed on the BT setting screen of the setting application running on the information processing device 101. Therefore, in S208, the CPU 103 displays, in the form of a dialog or the like, on the display unit 108 the operation procedure to be performed by the user on the BT setting screen and the name of the communication device to be selected on the BT setting screen. Furthermore, the CPU 103 displays an element (for example, a button) for receiving an instruction to proceed to the next step from the user. Specifically, for example, in S210, the CPU 103 displays a screen such as that shown in FIG. 7. In S210, when the CPU 103 detects that an instruction to proceed to the next step has been received from the user, the CPU 103 closes the dialog displayed on the display unit 108 and proceeds to S211.
[0067] Next, in S211, CPU 103 enables an event notification setting for the print application. Specifically, CPU 103 sets the print application to receive notifications of events that occur in response to operations on the BT setting screen displayed by the setting application. This enables the print application to recognize that events such as "pairing," "pairing completed," and "pairing failed" have occurred in response to operations on the BT setting screen, and to execute predefined processing in response to the occurrence of the event.
[0068] Next, in S212, the CPU 103 displays a message in Toast that prompts the user to select the communication device that the user selected via the screen displayed in S205 on the BT setting screen that is displayed on the display unit 108 in S211. That is, here, the CPU 103 displays a message in Toast that prompts the user to select a communication device named "Printer A" on the BT setting screen. As will be described later, the Toast displayed at this time continues to be displayed in front of the BT setting screen even when the BT setting screen is displayed. In other words, the user can select a communication device on the BT setting screen while checking the message displayed in Toast, and can quickly and accurately grasp which communication device to select on the BT setting screen.
[0069] As described above, the Toast function is a function of the OS. Therefore, when CPU 103 displays a Toast using a printing application, it sends a request to the OS to display the Toast along with the content of the message to be included in the Toast. This allows CPU 103 to display the Toast using the printing application. As described above, CPU 103 can display a Toast even if the program requesting the Toast display has moved to the background. A state in which a certain program has moved to the background refers to a state in which the certain program continues to run and a screen displayed by a program other than the certain program is displayed on display unit 108. On the other hand, a state in which a certain program has moved to the foreground refers to a state in which the certain program continues to run and a screen displayed by the certain program is displayed on display unit 108.
[0070] Next, in S213, CPU 103 switches the screen displayed on display unit 108 from the screen displayed by the printing application to the BT setting screen displayed by the setting application. Then, CPU 103 transitions the printing application to the background. Specifically, in response to an instruction from the printing application, CPU 103 causes display unit 108 to display the screen displayed by the setting application while keeping the printing application running. Here, a form has been described in which the screen displayed on display unit 108 is switched from the screen shown in FIG. 7 to the BT setting screen. However, the present invention is not limited to this form, and for example, after an instruction to execute pairing processing is received on the screen shown in FIG. 3, the screen shown in FIG. 3 may be switched directly to the BT setting screen.
[0071] 4 shows an example of a BT setting screen displayed by the setting application. The BT setting screen is a screen for configuring settings related to the Bluetooth function of the information processing device 101. Specifically, for example, the BT setting screen is a screen for accepting, from the user, the selection of a communication device to be paired with the information processing device 101.
[0072] 4A on the display unit 108. The BT setting screen 400 has a paired device list 410, a pairable device list 420, and a scan button 430.
[0073] The paired device list 410 is an area in which information about communication devices that have already executed pairing processing with the information processing device 101 (that have already been paired with the information processing device 101) is displayed in a list.
[0074] The pairable device list 420 is an area in which information about communication devices with which the information processing device 101 can execute pairing processing is displayed in a list. Note that a communication device with which the information processing device 101 can execute pairing processing is a communication device that is the sender of advertising information received by the information processing device 101. No particular filtering is performed on the communication devices displayed in the pairable device list 420. Therefore, the pairable device list 420 also displays communication devices that are not compatible with the printing application (for example, devices other than printers, or printers that are not compatible with the printing application that is instructing pairing processing). Then, when the user selects one of the communication devices displayed in the pairable device list 420, pairing processing with the selected communication device is started.
[0075] The scan button 430 is a button that causes the information processing device 101 to start searching (scanning) for advertising information transmitted from communication devices of BLE-compatible devices around the information processing device 101 in order to update the contents of the pairable device list 420.
[0076] The back button 440 is a button for redisplaying the screen that was displayed on the display unit 108 immediately before the currently displayed screen. As described above, the BT setting screen 400 including the back button 440 is a screen displayed by the setting application. If the screen displayed immediately before the BT setting screen 400 is a program other than the setting application, pressing the back button 440 redisplays the screen displayed by the program other than the setting application. In this embodiment, the screen displayed immediately before the BT setting screen 400 is a screen displayed by the printing application, and therefore pressing the back button 440 redisplays the screen displayed by the printing application.
[0077] The home button 441 is a button for displaying a home screen displayed by the OS. The home screen is a screen on which icons for activating application programs (printing applications, etc.) included in the information processing device 101 are arranged, for example.
[0078] The task list button 442 is a button for displaying a screen for selecting a program to run in the foreground. Therefore, even if a printing app is selected on the screen that is displayed when the task list button 442 is pressed, the screen displayed by the printing app is displayed again.
[0079] When the scan button 430 is pressed, the CPU 103 transitions the information processing device 101 to a scanning state in which it is able to receive advertising information transmitted from communication devices in the vicinity of the information processing device 101. Next, when the CPU 103 receives the advertising information, it identifies the name (Complete Local Name) of the communication device that transmitted the advertising information, which is included in the received advertising information. Then, the CPU 103 adds the identified name to the pairable device list 420 and displays it, thereby updating the display content of the pairable device list 420.
[0080] The names of the communication devices displayed in the paired device list 410 and the pairable device list 420 are assumed to be information included in the received advertising information. In addition to the name of the communication device, the advertising information also includes identification information (Bluetooth device address: BD_ADDR) for identifying an individual short-range communication unit of the communication device that has transmitted the advertising information. Therefore, this identification information may be displayed in the paired device list 410 and the pairable device list 420. The CPU 103 appropriately stores the advertising information received from the communication devices displayed in the paired device list 410 and the pairable device list 420 in a storage area (such as the RAM 105 or the external storage device 106) of the information processing device 101.
[0081] As described above, when the user selects one of the communication devices displayed in the pairable device list 420, pairing processing with the selected communication device is initiated. However, as described above, the BT setting screen is a screen displayed by the setting app, and filtering is not performed to display communication devices suitable for the printing app when displaying candidate communication devices to be paired. Therefore, the pairable device list 420 may display information about communication devices other than the communication device selected by the user via the screen displayed in S205, as well as communication devices that do not have a printing function and therefore are not compatible with the printing app. Therefore, in this case, there is a problem in that it is difficult for the user to know which communication device to select as the communication device to be paired via the printing app.
[0082] Therefore, in this embodiment, when the BT setting screen is displayed on the display unit 108, the CPU 103 displays a Toast indicating user operation procedures on the front of the BT setting screen using the printing application. Specifically, for example, the CPU 103 displays the BT setting screen 600 shown in FIG. 6A, which is a screen on which a Toast 601 is displayed on the front of the BT setting screen 400 shown in FIG. 4A. The Toast 601 displays a message prompting the user to select "Printer A," which is the communication device selected by the user on the screen displayed by the printing application in S205. This configuration can prevent erroneous operations and improve user convenience. Note that the Toast displayed at this time may also include information (name) of the communication device corresponding to the printing application, rather than the communication device selected by the user on the screen displayed by the printing application in S205.
[0083] In this embodiment, Toast is first displayed in S212, and then the BT setting screen is displayed in S213, but the order of display is not limited to this. That is, Toast may be displayed after the BT setting screen is displayed.
[0084] Next, in S214, CPU 103 determines whether the printing application in the background has transitioned to the foreground. Specifically, CPU 103 determines whether the screen displayed on display unit 108 has switched from the BT setting screen to a screen displayed by the printing application. Note that the printing application transitions to the foreground when, for example, the back button 440 is pressed or a screen displayed by the printing application is selected on a selection screen displayed by pressing task list button 442. If CPU 103 determines that the printing application has transitioned to the foreground, it proceeds to S223. If it determines that the printing application has not transitioned to the foreground, it proceeds to S215.
[0085] Next, in S215, CPU 103 determines whether an event has been notified to the printing application via the BT setting screen displayed by the setting application. If CPU 103 determines that an event has been notified, it performs the following process depending on the content of the notified event. Specifically, if the notified event indicates "pairing in progress," CPU 103 proceeds to S216. If the notified event indicates "pairing completed," CPU 103 proceeds to S218. If the notified event indicates "pairing failed," CPU 103 proceeds to S220. On the other hand, if CPU 103 determines that an event has not been notified, it executes the process of S214 again.
[0086] Here, various events will be described in detail. The event indicating "pairing" occurs when an instruction to execute pairing processing is given via the BT setting screen 600. Specifically, the event indicating "pairing" occurs when the user selects one of the communication devices displayed in the pairable device list 420. When an instruction to execute pairing processing is given, the setting application reads, from a storage area, advertising information received from the communication device selected by the user and identifies information necessary for pairing processing, such as identification information, using the read advertising information. Then, the setting application transmits a pairing request to the communication device selected by the user based on the identified information and the BLE communication standard. The communication device that receives the pairing request displays a PIN code display screen 500, as shown in FIG. 5, on a display unit (not shown) of the communication device. The PIN code display screen 500 displays a PIN code 501, which is authentication information used in the pairing processing, and a Cancel button 502 for canceling the pairing processing.
[0087] Then, when the setting application transmits a pairing request in response to the occurrence of an event indicating "pairing," the setting application displays a PIN code input screen 450 shown in FIG. 4(b) on the display unit 108. The PIN code input screen 450 is a screen in which a PIN code input dialog 454 is displayed in front of the BT setting screen 400 shown in FIG. 4(a). The PIN code input dialog 454 displays a PIN code input area 451, an OK button 452, and a Cancel button 453. The PIN code input area 451 is an area for accepting input of a PIN code by the user. The OK button 452 is a button for transmitting the input PIN code to the communication device selected by the user. The Cancel button 453 is a button for canceling the pairing process.
[0088] Depending on the OS specifications, for example, there may be a defined period during which the PIN code 501 can be entered in the PIN code input area 451 (period during which the input is successful). The period during which the PIN code 501 can be entered in the PIN code input area 451 is, for example, 30 seconds. In this case, if the PIN code 501 is not entered and the OK button 452 is not pressed within 30 seconds after the PIN code input screen 450 is displayed, the PIN code 501 will not be transmitted to the communication device selected by the user. In other words, the pairing process will fail.
[0089] When the OK button 452 is pressed with the PIN code 501 entered in the PIN code input field 451 within the above-described period, the setting application transmits information including the entered PIN code 501 to the communication device selected by the user. The communication device selected by the user determines whether the PIN code 501 included in the received information matches the PIN code 501 displayed on the PIN code display screen 500 (the PIN code corresponding to the communication device). If the communication device selected by the user determines that the PIN code 501 matches, it permits pairing with the information processing device 101. Specifically, the communication device selected by the user transmits a link key created by a predetermined method based on the PIN code 501 to the information processing device 101 using the SMP (Security Manager Protocol) of the BLE standard. In this way, the link key is stored in both a storage area (such as the ROM 104) of the information processing device 101 and a storage area (such as the ROM 152) of the communication device selected by the user. This completes pairing, and BLE communication is permitted between the devices. When the pairing process is completed (successfully) in this way, an event indicating "pairing completed" occurs.
[0090] When the pairing process is complete, the setting application displays the BT setting screen 460 shown in FIG. 4C with the PIN code input dialog 454 hidden. When an event indicating "pairing complete" occurs, the communication device indicated by "PrinterA" and the information processing device 101 are paired. Therefore, the setting application adds "PrinterA" to the paired device list 410 and deletes "PrinterA" from the pairable device list 420.
[0091] On the other hand, if it is determined that the PIN code 501 included in the received information does not match the PIN code 501 displayed on the PIN code display screen 500, pairing fails. Therefore, the communication device selected by the user does not transmit the link key to the information processing device 101. In this case, the communication device selected by the user transmits information indicating that pairing has failed to the information processing device 101. If the pairing process fails, it is preferable to perform the pairing process again. Therefore, the setting application displays the BT setting screen 400 shown in FIG. 4A again on the display unit 108. Note that pairing failures are not limited to cases where the PIN codes do not match. For example, pairing fails when the Cancel button 453 on the PIN code input screen 450 of FIG. 4B is pressed or when the Cancel button 502 on the PIN code display screen 500 of FIG. 5 is pressed. Pairing also fails when, for example, no input is made in the PIN code input area 451 for a long period of time. If the pairing process fails in this way, an event indicating "pairing failed" occurs.
[0092] With the above in mind, we return to the explanation of the processing in FIG.
[0093] In S216, the CPU 103 determines whether the communication device selected on the BT setting screen 600 displayed by the setting application matches the communication device selected on the screen displayed by the print application in S205. The event notification indicating "pairing" includes identification information of the communication device selected on the BT setting screen 600 displayed by the setting application. Therefore, the CPU 103 performs the determination process of this step by comparing the identification information included in the event notification indicating "pairing" with the information saved in S207. If the CPU 103 determines that they match, it proceeds to S217. If the CPU 103 determines that they do not match, it returns to S214. If the CPU 103 determines that they do not match, it may display a toast indicating that the communication device selected on the BT setting screen 600 does not match the communication device selected on the screen displayed in S205. The CPU 103 may also display a toast to prompt the user to cancel the pairing process with the communication device selected on the BT setting screen 600, for example. Furthermore, the CPU 103 may, for example, re-display a toast indicating the communication device selected on the screen displayed in S205.
[0094] As described above, when an event indicating "pairing" occurs, the setting application displays the PIN code entry screen 450 shown in FIG. 4B on the display unit 108. Also, as described above, depending on the OS specifications, for example, a period during which the PIN code 501 can be entered in the PIN code entry area 451 (a period during which entry is successful) may be determined. Therefore, in S217, the CPU 103 performs display control to display a Toast 603 including information regarding the period during which entry of the PIN code 501 is successful on top of the PIN code entry screen 450. As a result, the BT setting screen 602 shown in FIG. 6B is displayed on the display unit 108. Specifically, the Toast 603 displays a message prompting the user to enter the PIN code 501 within 30 seconds after the PIN code entry screen 450 is displayed, as well as the number of digits of the PIN code 501 to be entered. This allows the user to perform operations while taking into account precautions for entering the PIN code 501, thereby improving usability in entering the PIN code 501. After S217, the CPU 103 executes the process of S214 again.
[0095] In S218, the CPU 103 determines whether the communication device that has completed the pairing process with the information processing device 101 matches the communication device selected on the screen displayed by the printing application in S205. The event notification indicating "pairing completed" includes identification information of the communication device that has completed the pairing process with the information processing device 101. Therefore, the CPU 103 performs the determination process of this step by comparing the identification information included in the event notification indicating "pairing in progress" with the information saved in S207. If the CPU 103 determines that they match, the process proceeds to S219; if the CPU 103 determines that they do not match, the process returns to S214. If the CPU 103 determines that they do not match, the CPU 103 may display a toast indicating that the communication device that has completed the pairing process with the information processing device 101 does not match the communication device selected on the screen displayed in S205.
[0096] As described above, when an event indicating "pairing complete" occurs, the setting application displays the BT setting screen 460 shown in FIG. 4C on the display unit 108. When the pairing process is completed normally (successfully) (when the communication device that has completed the pairing process with the information processing device 101 matches the communication device selected on the screen displayed in S205), it is preferable that the screen displayed by the printing application be displayed again. That is, it is preferable that the back button 440 be pressed to transition the printing application to the foreground. Therefore, in S219, the CPU 103 displays Toast 605, which includes a notification for transitioning the printing application to the foreground, on top of the BT setting screen 460. As a result, the BT setting screen 604 shown in FIG. 6C is displayed on the display unit 108. Toast 605 specifically displays a message informing the user that pairing with the selected communication device has been successful and an operation method for transitioning the printing application to the foreground (an instruction to press the back button 440). This allows the user to smoothly execute the operation to transition the printing application to the foreground. After S219, the CPU 103 executes the process of S214 again.
[0097] In S220, the CPU 103 determines whether the communication device that failed in the pairing process with the information processing device 101 matches the communication device selected on the screen displayed by the printing application in S205. The event notification indicating "pairing failed" includes identification information of the communication device that failed in the pairing process with the information processing device 101. Therefore, the CPU 103 performs the determination process of this step by comparing the identification information included in the event notification indicating "pairing failed" with the information saved in S207. If the CPU 103 determines that they match, the process proceeds to S221; if the CPU 103 determines that they do not match, the process returns to S214. If the CPU 103 determines that they do not match, the CPU 103 may display a toast indicating that the communication device that failed in the pairing process with the information processing device 101 does not match the communication device selected on the screen displayed in S205.
[0098] As described above, when an event indicating "pairing failed" occurs, the setting application redisplays the BT setting screen 400 shown in FIG. 4A on the display unit 108 so that the pairing process is executed again. That is, the BT setting screen is displayed in a state where the pairing process with the communication device indicated by "PrinterA" has not been completed. Therefore, in step S221, the CPU 103 displays Toast 607, which includes a notification for urging the user to execute the pairing process again, on top of the BT setting screen 400. As a result, the BT setting screen 606 shown in FIG. 6D is displayed on the display unit 108. Specifically, the Toast 607 displays a notification that the pairing process has failed and an operation method for successfully executing the pairing process (a notification instructing the user to enter the correct password within 30 seconds). This allows the user to smoothly execute the pairing process again even if the pairing process has failed. The CPU 103 may also include a notification indicating the cause of the pairing process failure in the Toast 607.
[0099] Next, in S222, the CPU 103 displays Toast 601 including a message prompting the user to select the communication device selected by the user via the screen displayed in S205 on the BT setting screen. As a result, the BT setting screen 600 shown in FIG. 6(a) is displayed again on the display unit 108. This makes it possible to notify the user again which communication device to select. After S222, the CPU 103 executes the process of S214 again.
[0100] In S223, the CPU 103 acquires, from the OS, information regarding the pairing status between the communication device selected on the screen displayed by the printing app in S205 and the information processing device 101. This allows the CPU 103 to determine whether pairing between the communication device selected on the screen displayed by the printing app in S205 and the information processing device 101 has been completed. Note that the method of specifying this is not limited to this method. For example, the CPU 103 stores an event indicating "pairing completed" and an event indicating "pairing failed" received via the setting app. Then, the CPU 103 may determine whether pairing between the communication device and the information processing device 101 has been completed based on the stored events.
[0101] Next, in S224, CPU 103 displays a notification area on display unit 108 using one of the notification functions based on the identification result in S223. At this time, since the screen displayed by the printing app is displayed on display unit 108, CPU 103 can display any notification area on top of that screen. If CPU 103 has identified in S205 that pairing between the communication device selected on the screen displayed by the printing app and the information processing device 101 has been completed, it displays a notification area including a message indicating that the pairing process has been completed. If CPU 103 has identified in S205 that pairing between the communication device selected on the screen displayed by the printing app and the information processing device 101 has not been completed, it displays a notification area including a message indicating that the pairing process has failed. If the pairing process has failed, it may perform the pairing process again, for example, by repeating the process from S204, etc.
[0102] Next, in S225, CPU 103 sets the printing application so that it does not receive notifications of events that occur in response to operations on the BT setting screen displayed by the setting application (disables reception of event notifications). As a result, the printing application receives event notifications only during pairing processing via the BT setting screen displayed by the setting application and displays a Toast corresponding to the event that has occurred, allowing notifications by Toast to be given at appropriate times.
[0103] Thereafter, CPU 103 ends the process. At this time, the screen displayed by the printing app is displayed on display unit 108, so CPU 103 may continue to execute functions of the printing app in response to a user instruction. For example, CPU 103 may execute a setting process related to the connection between the paired communication device and information processing device 101 via BLE, or may send a print job to the paired communication device. In this manner, the user can continue to use the printing app even after the pairing process has ended.
[0104] As described above, in this embodiment, Toast 601, Toast 603, Toast 605, and Toast 607 prompt the user to perform an operation. As shown in FIG. 6 , Toast 605 has more characters than Toast 601 or Toast 603. However, due to the nature of Toast display, which automatically disappears after a certain period of time, visibility may be reduced. Furthermore, depending on the type and version of the OS, there may be a limit to the number of characters that can be displayed in a Toast at one time. Therefore, in this embodiment, when a message exceeding a certain number of characters is displayed using the Toast function, a series of processes shown in the flowchart of FIG. 11 are executed to automatically determine whether to split the message. The flowchart of FIG. 11 is executed by the printing app when a notification is sent by the Toast function and the printing app identifies the Toast to be displayed based on the Toast notification. In the following process, the process is executed for the Toast identified as the Toast of interest, but at the start of this flowchart, the Toast identified here becomes the Toast of interest.
[0105] In S1101, the CPU 103 determines whether to split the Toast of interest. Specifically, the CPU 103 determines whether the number of line feed codes in the character string included in the Toast of interest is equal to or greater than a predetermined threshold. If the number of line feed codes in the character string included in the Toast of interest is less than the predetermined threshold, it determines to split the Toast of interest, and proceeds to S1104. On the other hand, if the number of line feed codes in the character string included in the Toast of interest is equal to or greater than the predetermined threshold, it determines to split the Toast of interest, and proceeds to S1102. Here, as an example, the predetermined threshold used in this step is set to the number of line feed codes = 1, but any single value (integer) equal to or greater than 2 may be used as such a threshold. Furthermore, this determination is made based on the number of line feed codes, but is not limited to this form. For example, it may determine whether the number of characters included in the character string included in the Toast of interest is equal to or greater than a predetermined threshold, and if the number of characters is equal to or greater than the predetermined threshold, it may determine to split the Toast of interest. For example, a value calculated based on the number of characters and the number of line feed codes included in the string may be used as the string-specific value, and it may be determined whether the string-specific value is equal to or greater than a predetermined threshold. If the string-specific value is equal to or greater than the predetermined threshold, it may be determined that the target Toast should be split.
[0106] In S1102, the CPU 103 divides the Toast of interest. Specifically, the CPU 103 executes a process of dividing the character string included in the Toast of interest at the position where a line feed code is included. As a result, a divided Toast including the first half of the divided character string and a divided Toast including the second half of the divided character string are generated.
[0107] In S1103, the CPU 103 specifies the divided Toast generated in S1102 that includes the latter half of the character string as the Toast of interest. After that, the CPU 103 proceeds to S1101 and executes processing on the divided Toast that includes the latter half of the character string.
[0108] In S1104, the CPU 103 identifies the Toast of interest. Specifically, if the initially identified Toast of interest has been divided, the divided Toast containing the first half of the divided character strings is identified as the Toast of interest. Note that if the initially identified Toast of interest has not been divided, the initially identified Toast of interest is identified as is.
[0109] In S1105, CPU 103 determines whether or not any other Toasts besides the focused Toast are already being displayed on the screen. If no other Toasts are being displayed, CPU 103 proceeds to S1106. On the other hand, if other Toasts are being displayed, CPU 103 repeats this determination, waiting until the currently displayed Toast disappears. The determination process in this step is necessary to control the display so that the Toasts do not overlap when multiple Toasts are displayed consecutively.
[0110] In S1106, the CPU 103 requests and instructs the OS to display the featured Toast using the Toast function.
[0111] In S1107, the CPU 103 determines whether all Toasts corresponding to the first identified Toast of interest have been displayed. The term "all Toasts corresponding to the first identified Toast of interest" refers to all divided Toasts generated by dividing the first identified Toast of interest. If the first identified Toast of interest is not divided, the term "all Toasts corresponding to the first identified Toast of interest" refers to the first identified Toast of interest itself. If the CPU 103 determines that all Toasts corresponding to the first identified Toast of interest have been displayed, it terminates the processing of this flowchart. On the other hand, if the CPU 103 determines that all Toasts corresponding to the first identified Toast of interest have not been displayed, it proceeds to S1108. Then, in S1108, the CPU 103 identifies, among all Toasts corresponding to the first identified Toast of interest, a divided Toast that has not yet been displayed and that includes the first half of the character string as the Toast of interest. Then, the processing returns to S1105.
[0112] By performing the above series of processes, for example, instead of displaying Toast 605 shown in Fig. 12, Toast 605a is displayed, and after Toast 605a disappears, Toast 605b is displayed. In this way, the pop-ups generated by dividing the character string to be displayed are displayed sequentially. This improves user visibility compared to displaying Toast 605 as is.
[0113] As described above, in this embodiment, in order to perform BLE communication using the printing app, pairing processing is performed using the BT setting screen displayed by the setting app. In this case, in this embodiment, when various information is displayed in Toast on the BT setting screen by the printing app, it is automatically determined whether each Toast display can be displayed as is or whether it should be displayed in separate parts. Therefore, according to this embodiment, it is possible to improve user visibility, thereby reducing user operation errors and improving convenience.
[0114] Although the above describes a format in which a Toast is displayed on the BT setting screen, the present invention is not limited to this format. The timing at which a Toast is displayed and the content of the message notified by the Toast may be determined arbitrarily by the application program that displays the Toast. For example, a Toast containing a message indicating an operation to be performed on a Wi-Fi setting screen displayed by a setting app for performing Wi-Fi communication using the printing app may be displayed. Also, for example, when a print setting operation is performed for a print job sent by the printing app, a Toast containing a message related to the print setting operation may be displayed. These Toasts may be split and displayed by executing the process shown in FIG. 11.
[0115] [Second embodiment] In the first embodiment, an example was described in which Toast is split and displayed when the number of characters to be displayed is large. In this embodiment, an example is described in which a new threshold value is set for the number of Toasts to be split and the display format is changed to another format, such as display using a Dialog function. Note that the following explanation will mainly focus on differences from the first embodiment. Explanations of similarities to the first embodiment will be omitted as appropriate.
[0116] Fig. 13 is a flowchart showing processing according to this embodiment. The flowchart in Fig. 13 is executed by a printing application when a notification is made by the Toast function and the Toast to be displayed by the Toast notification is specified by the printing application. In the following processing, processing is executed for the Toast specified as the featured Toast, but at the start of this flowchart, the Toast specified here becomes the featured Toast. Note that the same processing as in the flowchart in Fig. 11 is assigned the step numbers shown in Fig. 11.
[0117] In S1301, the CPU 103 determines whether or not the message to be notified in the Toast of interest is notified by the Toast function. Specifically, the CPU 103 determines whether the number of line feed codes in the character string included in the Toast of interest is equal to or greater than a specific threshold. The specific threshold is a value greater than the predetermined threshold used in the determination in S1101. Specifically, for example, the predetermined threshold is 1, and the specific threshold is 2. This allows the CPU 103 to determine whether the number of divisions determined based on the determination in S1101 would be too large. If the number of line feed codes in the character string included in the Toast of interest is equal to or greater than the specific threshold, the CPU 103 determines not to notify the message to be notified in the Toast of interest by the Toast function, and proceeds to S1302. On the other hand, if the number of line feed codes in the character string included in the Toast of interest is less than the specific threshold, the CPU 103 determines to notify the message to be notified in the Toast of interest by the Toast function, and proceeds to S1101. The processing from S1101 onwards is the same as that described in FIG. 11. Note that, although this determination is made based on the number of line feed codes, it is not limited to this form. For example, it may be determined whether the number of characters included in the string included in the Toast of interest is equal to or greater than a specific threshold, and if the number of characters is equal to or greater than the specific threshold, it may be determined that the message to be notified in the Toast of interest will not be notified by the Toast function. Also, for example, a value calculated based on the number of characters and the number of line feed codes included in the string is used as the unique value of the string, and it is determined whether the unique value of the string is equal to or greater than a specific threshold. If the unique value of the string is equal to or greater than the specific threshold, it may be determined that the message to be notified in the Toast of interest will not be notified by the Toast function.
[0118] In S1302, the CPU 103 notifies the message to be notified in the featured Toast using a notification function other than the Toast function. Specifically, the notification function other than the Toast function is, for example, a Dialog function. However, the notification function is not limited to this and may be, for example, a Notification function or a SnackBar function. The notification function used for notification may be controlled depending on the content of the message to be notified and the timing of the notification. Specifically, for example, if the message is intended to receive a confirmation operation from the user, the notification may be controlled to be performed using the Dialog function. If the notification is performed when the printing application is running in the background, the notification may be controlled to be performed using the Notification function. If the notification is performed when the printing application is running in the foreground, the notification may be controlled to be performed using the SnackBar function or the Dialog function. The number of characters that can be displayed at one time using the Notification function, SnackBar function, and Dialog function is all greater than the number of characters that can be displayed at one time using the Toast function. Therefore, the message to be notified in the featured Toast is displayed at once using a notification function other than the Toast function without being divided. If the message to be notified by the featured Toast has a large number of characters and exceeds the number of characters that can be displayed at one time using the Notification function or SnackBar function, the message may be notified by the Dialog function. This is because the Dialog has a function that can control the display content of the message by scrolling, and therefore there is essentially no limit to the number of characters that can be displayed at one time. After the processing of S1302, the processing of this flowchart ends.
[0119] As described above, in this embodiment, a new threshold value is set for the number of Toast displays to be divided, and whether or not to change to another display format such as a Dialog display is determined based on this threshold value. Therefore, according to this embodiment, it is possible to improve visibility for the user, thereby reducing user operation errors and improving convenience, and further, by preventing multiple Toast displays, it is possible to prevent a deterioration in UX.
[0120] [Other embodiments] As described above, the function of displaying a Toast is a function of the OS, and therefore the display specifications may differ depending on the type and version of the OS. Specifically, for example, the number of characters that can be displayed at one time by the Toast function may differ depending on the Android version. The embodiments described above may be modified depending on the type and version of the OS. Specifically, for example, the version of the information processing device 101 may be determined before S1101 or S1301. If the determined version has a large number of characters that can be displayed at one time by the Toast function, the Toast of interest may be notified by the Toast function without dividing the Toast of interest. If the determined version does not have a large number of characters that can be displayed at one time by the Toast function, the process may proceed to S1101 or S1301. A version that has a large number of characters that can be displayed at one time by the Toast function is, for example, a version earlier than Android 12 (a version lower than the specified version). A version that has a small number of characters that can be displayed at one time by the Toast function is, for example, Android 12 or later (a version equal to or higher than the specified version).
[0121] The present disclosure can also be realized by providing a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions. [Explanation of symbols]
[0122] 101 Information processing equipment 151 Communication equipment
Claims
1. The computer of the information processing device a step of identifying the content of the notification; a notification step of executing a process for notifying the specified notification content by a predetermined notification method based on at least one of the number of line breaks included in the specified notification content and the number of characters included in the specified notification content; Execute the predetermined notification method is a notification method in which a first part of the specified notification content is displayed, and after the display of the first part is completed, a second part of the specified notification content that is different from the first part is displayed; The notification content is displayed by Toast, Whether the notification content is displayed by a Toast function or by a function different from the Toast function is controlled based on at least one of the number of line breaks included in the specified notification content and the number of characters included in the specified notification content. A program characterized by:
2. The program described in claim 1, characterized in that a process is executed to notify the identified notification content using the specified notification method based on at least one of the following: the number of line breaks contained in the identified notification content is greater than or equal to a threshold value; and the number of characters contained in the identified notification content is greater than or equal to a threshold value.
3. The program described in claim 1 or 2, characterized in that the process for notifying the identified notification content using the specified notification method is a process of requesting the OS of the information processing device to display the first part, and then requesting the OS of the information processing device to display the second part.
4. whether to execute a process for notifying the specified notification content by the predetermined notification method or to execute a process for notifying the specified notification content by a specific notification method different from the predetermined notification method, based on at least one of the number of line breaks included in the specified notification content and the number of characters included in the specified notification content; 4. The program according to claim 1, wherein the specific notification method is a notification method in which the specified notification content is displayed without being divided.
5. The program described in claim 4, characterized in that a process is executed to notify the identified notification content using the specified notification method based on at least one of the following: the number of line breaks contained in the identified notification content is less than a threshold value; and the number of characters contained in the identified notification content is less than a threshold value.
6. The program according to claim 4 or 5, characterized in that the process for notifying the identified notification content using the specific notification method is a process for requesting the OS of the information processing device to display the entire identified notification content.
7. whether to execute a process for notifying the specified notification content by the predetermined notification method or to execute a process for notifying the specified notification content by a specific notification method different from the predetermined notification method is controlled based on a type or version of an OS of the information processing device; 7. The program according to claim 1, wherein the specific notification method is a notification method in which the specified notification content is displayed without being divided.
8. The computer, a determination step of executing a determination process to determine whether to execute a process for notifying the specified notification content by the predetermined notification method or to execute a process for notifying the specified notification content by a specific notification method different from the predetermined notification method, based on at least one of the number of line breaks included in the specified notification content and the number of characters included in the specified notification content; Then run whether to execute a process for notifying the specified notification content by the specific notification method without executing the determination process, or to execute a process for notifying the specified notification content by the predetermined notification method or a process for notifying the specified notification content by a specific notification method different from the predetermined notification method based on a result of the determination process is controlled based on a type or version of an OS of the information processing device; 8. The program according to claim 1, wherein the specific notification method is a notification method in which the specified notification content is displayed without being divided.
9. If the OS of the information processing device is a version lower than a predetermined version, a process for notifying the specified notification content by the specific notification method is executed without executing the determination process; The program described in claim 8, characterized in that if the OS of the information processing device is a version higher than the specified version, a process for notifying the identified notification content using the specified notification method or a process for notifying the identified notification content using a specific notification method different from the specified notification method is executed based on the result of the judgment process.
10. 10. The program according to claim 9, wherein the predetermined version is Android 12.
11. The notification content is controlled to be displayed by a function other than the Toast function based on at least one of the fact that the number of line breaks included in the specified notification content is equal to or greater than a first threshold value and the fact that the number of characters included in the specified notification content is equal to or greater than a second threshold value, The program according to any one of claims 1 to 10, characterized in that the notification content is controlled to be displayed by a Toast function based on at least one of the following: the number of line breaks included in the specified notification content is less than the first threshold; and the number of characters included in the specified notification content is less than the second threshold.
12. When the notification content is controlled to be displayed by a Toast function, a process for notifying the specified notification content by the predetermined notification method is executed based on at least one of the fact that the number of line breaks included in the specified notification content is equal to or greater than a third threshold value that is smaller than the first threshold value and the fact that the number of characters included in the specified notification content is equal to or greater than a fourth threshold value that is smaller than the second threshold value, When the notification content is controlled to be displayed by a Toast function, a process is executed to notify the specified notification content by a specific notification method different from the predetermined notification method based on at least one of the fact that the number of line breaks included in the specified notification content is less than the third threshold value and the fact that the number of characters included in the specified notification content is less than the fourth threshold value; 12. The program according to claim 11, wherein the specific notification method is a notification method in which the specified notification content is displayed without being divided.
13. 13. The program according to claim 11, wherein the other function used to display the notification content is one of a Dialog function, a Notification function, and a SnackBar function.
14. When the program is running in the background, the other function used to display the notification content is a Notification function, 14. The program according to claim 13, wherein when the program is running in the foreground, the other function used to display the notification content is a Dialog function or a SnackBar function.
15. The program described in claim 13 or 14, characterized in that when the notification content is controlled to be displayed by the other function and the number of characters contained in the identified notification content exceeds the number of characters that can be displayed at one time by the Notification function or the number of characters that can be displayed at one time by the SnackBar function, the other function used to display the notification content is a Dialog function.
16. The program according to any one of claims 1 to 15, further comprising a transmission step of transmitting to the communication device at least one of a print job for causing the communication device to perform printing and a scan job for causing the communication device to perform scanning.
17. A control method for an information processing device, comprising: a step of identifying the content of the notification; a notification step of executing a process for notifying the specified notification content by a predetermined notification method based on at least one of the number of line breaks included in the specified notification content and the number of characters included in the specified notification content; and the predetermined notification method is a notification method in which a first part of the specified notification content is displayed, and after the display of the first part is completed, a second part of the specified notification content that is different from the first part is displayed; The notification content is displayed by Toast, Whether the notification content is displayed by a Toast function or by a function different from the Toast function is controlled based on at least one of the number of line breaks included in the specified notification content and the number of characters included in the specified notification content. A control method comprising:
18. An information processing device, A means for identifying the content of the notification; a notification means for executing a process for notifying the specified notification content by a predetermined notification method based on at least one of the number of line breaks included in the specified notification content and the number of characters included in the specified notification content; and the predetermined notification method is a notification method in which a first part of the specified notification content is displayed, and after the display of the first part is completed, a second part of the specified notification content that is different from the first part is displayed; The notification content is displayed by Toast, Whether the notification content is displayed by a Toast function or by a function different from the Toast function is controlled based on at least one of the number of line breaks included in the specified notification content and the number of characters included in the specified notification content.
1. An information processing device comprising:
Citation Information
Patent Citations
Radio selective calling receiver
JP1998098752A
Radio communication terminal and server
JP2007259398A
Information processing apparatus, control method, and program
JP2019036315A
Information processing device, display control method, and program
JP2020095751A
Wi-Fi Connection Method and Device
US20200288517A1