Data processing device, program, and control method

By dynamically switching between OS and application file browser functions based on OS information, the method provides a user-friendly and adaptable file selection experience that maintains usability across different operating system versions.

JP2026074239APending Publication Date: 2026-05-01CANON KK
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CANON KK
Filing Date
2026-02-24
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

The traditional method of switching between an application's internal file browser function and the OS's file browser function is cumbersome and user-unfriendly, and the most user-friendly file browser function may change with OS specification updates.

Method used

A control method that determines whether to display a first file selection screen using the OS's file browser function or a second file selection screen using the application's file browser function based on information about the OS, such as version or capabilities, to provide a user-friendly file selection experience.

Benefits of technology

This approach allows for a seamless and user-friendly file selection process that adapts to OS changes, reducing the need for frequent user permissions and maintaining usability across different OS versions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026074239000001_ABST
    Figure 2026074239000001_ABST
Patent Text Reader

Abstract

When selecting files using a data processing device, there are two approaches: implementing a file browser function within the application itself, or utilizing the file browser function provided by the operating system (OS). Ideally, we want to use these approaches appropriately to improve usability. [Solution] Depending on the information about the OS, control is made to use either the application's internal file browser function or the file browser function provided by the OS.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0004] , , , , , , , , ,

[0005] , , , , , ,

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

Background Art

[0002] In recent years, with the spread of mobile terminals, the cases where mobile terminals are adopted as business terminals of companies have increased. It is possible to instruct an image processing apparatus such as a multifunction peripheral or a printer to perform processing from a mobile terminal installed with an application for instructing the execution of processing. For example, a user selects a file from a folder on the application of the mobile terminal, performs print settings, and then transmits an instruction to execute printing to the image processing apparatus. The image processing apparatus that has received the execution instruction executes the print processing according to the settings.

[0003] In order for an application to have a function of selecting a file from a folder provided in the storage in the mobile terminal, there are cases where a file browser function is implemented inside the application and cases where the file browser function provided by the operating system (OS) is used. Patent Document 1 discloses a method having both the file browser function inside the application and the file browser function of the OS and switching which file browser function to use according to a user operation.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] The traditional configuration, where users have to switch between the application's internal file browser function and the OS's file browser function, is cumbersome for users. Furthermore, the most user-friendly file browser function may change depending on OS specification changes.

[0006] The objective of this invention is to provide a user-friendly method for selecting files in an application. [Means for solving the problem]

[0007] A program for causing a computer of a data processing device on which an operating system (OS) runs to execute a control method, wherein the control method has a control step of controlling, based on information about the OS, whether to instruct the OS to display a first file selection screen using the file browser function provided by the OS, or to display a second file selection screen using the file browser function of the program. [Effects of the Invention]

[0008] This allows us to provide users with a user-friendly method for selecting files within the application. [Brief explanation of the drawing]

[0009] [Figure 1] This figure shows the system configuration of the present invention. [Figure 2] This diagram shows the hardware configuration of a data processing device. [Figure 3] This diagram shows the hardware configuration of the image processing device. [Figure 4] This diagram shows the software configuration of a data processing device. [Figure 5] This figure shows an example of a screen displayed by an application running on a data processing device. [Figure 6] This figure shows an example of a screen displayed by a data processing device. [Figure 7] This flowchart shows the process for selecting a photo file and issuing a print order. [Figure 8] This flowchart shows the process for selecting a document file and issuing a print command. [Modes for carrying out the invention]

[0010] This embodiment will be described in detail below with reference to the attached drawings. Furthermore, not all combinations of features described in this embodiment are necessarily essential to the solution of the present invention.

[0011] (Example 1) The following description of this embodiment will be made in detail with reference to the drawings. Figure 1 is a diagram showing the configuration of the information processing system in this embodiment. In Figure 1, the data processing device 101 is a data processing device used to send print jobs and scan jobs to the image processing device 104, and accepts various operations from the user on the data processing device. The data processing device 101 is a mobile terminal such as a smartphone or tablet. 104 is an image processing device, and in addition to scanning functions, it may also have copying functions, printing functions, fax transmission functions, etc.

[0012] 103 is a LAN (Local Area Network) to which the data processing device 101 and image processing device 104 are connected, and the data processing device 101 and image processing device 104 communicate with each other via LAN 103. 102 is a wireless LAN terminal. The wireless LAN terminal 102 is a wireless LAN access point with general network router functionality, providing wireless LAN in homes, offices, etc. The data processing device 101 can also join LAN 103 via the wireless LAN terminal 102 by enabling its wireless LAN function. When the data processing device 101 enters the wireless LAN area provided by the wireless LAN terminal 102, it can automatically join the LAN 103 network using authentication information pre-configured within the data processing device 101. The data processing device 101 and image processing device 104 can also communicate directly without going through the wireless LAN terminal 102. Although only one image processing device is shown here, the configuration is not limited to this, and multiple image processing devices may be connected on the LAN.

[0013] Figure 2 is a block diagram showing the hardware configuration of the data processing device 101 in Figure 1. The data processing device 101 may be running an operating system for a small terminal or a program that controls calls and data communication. Alternatively, it may be a personal computer (PC) that does not have the voice / image control unit 206 and microphone / speaker / camera 213, position detection control unit 210, GPS sensor 216, mobile phone data communication unit 212, etc., which will be described later.

[0014] Each hardware component is connected to the system bus 201. The ROM 203 stores the operating system for the data processing unit 101 and applications that control calls and data communication, and is executable on the CPU 202. Applications that control data communication include applications that exchange various data with the image processing unit 104, as well as mail software and a web browser.

[0015] RAM 204 is a memory for executing programs and is a work memory area where an application executes programs. Also, RAM 204 is a memory for temporarily storing data etc. that an application must temporarily store when executing processing within a program. The storage device 209 is a non-volatile storage device, and stores various operation mode settings and operation logs etc. that need to be retained even after the data processing device 101 restarts.

[0016] Network Controller 205 performs communication control by a wireless LAN communication unit 211 for participating in the network of LAN 103 via the wireless LAN terminal 102 and a mobile phone data communication unit 212 for participating in the network provided by a mobile carrier.

[0017] The audio / video control unit 206 is used, for example, when a call application is launched and the user is making a phone call. The microphone / speaker 213 performs input / output of audio data, and the audio / video control unit 206 mediates between the audio data and the audio data control program. Also, the audio / video control unit 206 mediates between the image data generated by imaging with the camera 213 and the image data control program.

[0018] The display control unit 207 controls the information output on the display 214 of the data processing device 101. The input control unit 208 controls the information indicated by the user using the buttons or touch panel 215 of the data processing device 101. By using these audio / video control unit 206, display control unit 207, and input control unit 208, an application operating on the data processing device 101 provides network communication information and various information of the data processing device 101 to the user.

[0019] The position detection control unit 210 acquires the position information of the data processing device 101 from the GPS sensor 216 and provides it on the operating system. These controls are controlled by an operating system (OS) running on the CPU 202.

[0020] Figure 3 is a block diagram illustrating the hardware configuration of the image processing device 104 in Figure 1. This example shows a multifunction device (MFP (Multi Function Perpheral)) that has both scanner and printer functions.

[0021] In Figure 3, 301 is an I / O unit and includes a LAN communication unit 314. The LAN communication unit 314 can communicate with the data processing unit 101 via a network (LAN) 103 or the like. For example, it transmits image data generated by scanning with the image processing unit 104 to the data processing unit 101 via the LAN. Multiple I / O units 301 may be installed to support multiple connection configurations. Through this I / O unit 301, the image processing unit 104 passes the device ID and scanned image to the data processing unit 101. It also receives various control commands from the data processing unit 101 and processes them. The I / F control unit 302 controls the issuance of device IDs for processing systems such as scanners, printers, or fax machines installed in the image processing unit 104. The RAM 303 is a primary storage device used to store external data such as control commands acquired by the I / O unit 301 and image data (or image data; hereinafter referred to as "image") read by the scanner engine 313. Furthermore, RAM 303 is used for storing images before they are passed to the printer engine 306 after being processed by the printer controller 310. The RAM control unit 304 manages the allocation of RAM 303. The image data asynchronous circuit 305 is a device that outputs images processed by the printer controller 310 and images captured by the scanner engine 313 and processed in RAM 303 in accordance with the rotation of the printer engine 306. The printer engine 306 is a device that develops images onto output media such as paper. The main controller 308 performs various controls on the printer engine 306 via the engine I / F 307. The main controller 308 is also the key control module and performs appropriate distribution processing of control language received from the data processing device 101 via I / O 301 to the scanner controller 309 and printer controller 310. Furthermore, the main controller 308 controls the printer engine 306 and scanner engine 313 based on instructions from each controller and the user interface 312. The scanner controller 309 decomposes the scan control command received from the data processing device 101 into internal execution instructions that the main controller 308 can interpret.The scanner engine 313 also converts the image it reads into scan control commands. The printer controller 310 decomposes the PDL (Page Description Language) received as a print job from the data processing device 101 into internal execution commands, including an expanded image that the main controller 308 can interpret. The expanded image is then transported to the printer engine and printed onto output media such as paper.

[0022] Figure 4 is a block diagram illustrating the software configuration of the data processing device 101 shown in Figure 1. The processing of each component is realized by the CPU 202 executing programs stored in the ROM 203, storage device 209, etc.

[0023] OS410 is the basic software for controlling the overall operation of the data processing unit 101. It consists of, for example, Android (registered trademark) provided by Google.

[0024] Application 401 is an application that runs on the data processing unit 101 and is installed in ROM 203 as an application that runs on OS 410. Application 401 is an application that issues print and scan commands to the image processing unit. For example, it is an application that selects files such as image data stored in the storage device on the data processing unit 101 and issues a print command to the image processing unit 104 for the selected files. It also has the function to issue a scan command to the image processing unit 104 and the function to save images captured by the camera 213 equipped on the data processing unit 101. The UI unit 402 is the UI unit of application 401 and provides a user interface for the user to set and execute the functions of the application. The image processing unit search unit 403 is an image processing unit that searches for network devices on the LAN 103 to which the data processing unit 101 participates, as well as network devices that can communicate directly with it. More specifically, it searches for image processing units that the data processing unit 101 can issue print and scan commands to. The control unit 404 controls the various processes performed by application 401. For example, the control unit 404 generates print jobs and scan jobs and sends the generated jobs to a communication-enabled image processing device. It also performs processes such as saving data generated in application 401. The file storage unit 405 saves files generated and acquired by application 401. For example, it receives and saves image data generated by scanning from image processing device 104. The data stored in the file storage unit 405 may be stored in a common storage area of ​​the data processing device 101 so that it can be accessed and used by applications other than application 401, or it may be stored in a storage area specific to application 401 so that it cannot be accessed and used by applications other than application 401.

[0025] For example, when application 401 is launched for the first time, a folder corresponding to the file storage unit 405 is automatically created. Thereafter, image data generated by the processing of application 401, such as image data generated by scanning with the image processing device 104 (scan data) and image data generated by taking images with the camera (capture data), will be saved in the created folder.

[0026] The file browser unit 406 browses files stored in the storage of the data processing device 101, such as the storage device. For example, the file browser unit 406 provides the user with a list of files stored in the storage device 209 to allow the user to select print data to send to the image processing device 104. There are mainly two methods for allowing the user to select photo or document files stored on the data processing device 101 or elsewhere for this file browser function.

[0027] The first method involves creating a file list UI screen within the application and allowing the user to select files. This method allows the application vendor or developer to implement the file browser functionality independently, providing a file browsing function specific to that application. For example, a list of files within a pre-specified folder (e.g., a folder used as the default save location or selection location by the application) can be displayed on the default selection screen. However, this method requires implementing mechanisms to access cloud storage or external memory cards, incurring design effort and cost. Furthermore, application maintenance costs are incurred because the application must be modified every time APIs for accessing cloud storage or external memory cards are updated. Additionally, usability may decrease due to changes in OS specifications. From now on, this file browser functionality will be referred to as the "in-app file browser function," and the screen displayed by this file browser function will be referred to as the "in-app file selection screen." In other words, the file selection screen using the application's file browser function is called the "in-app file selection screen." The in-app file selection screen is only used in compatible applications.

[0028] The second method involves using the file browsing function provided by the OS. In this case, the application can call the OS's file browsing function and retrieve the files selected by the OS's file browsing function. Therefore, the application does not need to implement mechanisms for accessing external memory cards or cloud storage, but instead utilizes the mechanisms provided by the OS to select files. In this method, the file browsing function provided by the OS is designed to be called by various applications and cannot be configured in detail for specific applications. An example of the file browsing function provided by the OS is the Photo Picker, a photo selection screen provided in Android. The Photo Picker extracts files of a specified file format (in this case, image format) from the files stored in the storage device 209 of the data processing device 101 and displays them in a list. From now on, this file browser function will be referred to as the OS-provided file browser function, and the screen displayed by this file browser function will be referred to as the OS-provided file selection screen. In other words, the file selection screen using the file browser function provided by the OS will be referred to as the OS-provided file selection screen. The OS-provided file selection screen is used by multiple applications.

[0029] The OS of the data processing device 101 also has applications other than application 401 installed. For example, application 420 is an application that has similar functionality to application 401 and has a file browser section 421. The applications installed on the data processing device 101 are not limited to these, and other applications may also be installed.

[0030] Using Figure 5, we will explain the screen transitions from selecting a photo file to print in application 401 to printing the selected file.

[0031] The menu screen 501 is the home screen of application 401, and is the top menu screen that is displayed, for example, immediately after launching application 401. The menu screen 501 accepts user input for selecting a function to be executed. The document print button 502 is a button for instructing the image processing device to print a document. When the document print button 502 is selected, the system transitions to a screen displayed by the file browser unit 406, where the user selects the document to print.

[0032] The photo print button 503 is a button used to instruct the image processing device to print a photograph. When the photo print button 503 is selected, the screen displayed by the file browser unit 406 transitions to a screen where the user can select the photograph to print.

[0033] The scan button 504 is a button used to instruct the image processing device to perform a scan. When the user selects the scan button 504 and then selects the scan execution button after making various settings, the image processing device performs the scan and returns the generated image data to the data processing device 101. The file storage unit 405 performs the process of saving the acquired image data to a designated folder.

[0034] Image processing device information 508 displays information about the image processing device that application 401 instructs to print or scan. Here, the icon and name of the image processing device are displayed.

[0035] The registration / switch button 507 is used to register or switch the image processing device that is the target of the instruction. When the registration / switch button 507 is selected, the image processing device search unit 403 searches for an image processing device on, for example, the LAN 103.

[0036] The in-app file selection screen 511 is displayed when the photo print button 503 is selected, and is a screen for selecting the photo files to print. The in-app file selection screen 511 is a screen displayed by the file browser function within application 401, and displays a list of photo files saved in storage. For example, photo files contained in a designated folder on storage device 209 are displayed in the list by default.

[0037] The Cloud button 512 is a display item for selecting photo files to print from cloud storage. The Filter button 513 is a button that changes the conditions for the files displayed in the list and filters the files to be displayed.

[0038] Photo file 515 is a thumbnail of the photo files contained in the target folder. Check mark 516 is a display item that appears on top of the thumbnail to make the photo files selected by the user identifiable. Count 517 is a display item that shows the number of files selected by the user.

[0039] When the Next button 518 is selected, the screen transitions to the print instruction screen 521. At this time, the file selected by the user on the in-app file selection screen 511 becomes the file to be printed.

[0040] The print instruction screen 521 is used to instruct the image forming apparatus to execute printing. Image 522 shows a preview image of the file to be printed. If there are multiple files to be printed, the user can preview the next file. The deselect button 523 is used to deselect the file to be printed. The print settings button 524 is used to configure print settings. The print button 525 is used to send a print job containing the selected file to the target image processing apparatus.

[0041] The photo acquisition destination selection screen 531 is displayed when the photo print button 503 is selected, and is a screen for selecting the destination from which to acquire the photo files to be printed. When the photo print button 503 is selected, depending on the conditions, the screen switches between displaying the in-app file selection screen 511 and the photo acquisition destination selection screen 531. For example, from Android version 14 onwards, applications need to obtain permission from the user for each file in order to access files in storage. In other words, if the application is configured to select files from the in-app file selection screen 511 on Android version 14, the user has to perform a permission operation every time they select a file, which is troublesome. On the other hand, if a file is selected from the OS-provided file selection screen, the user is not asked for permission every time a file is selected. Therefore, the application 401 determines the version of the OS (Android) on which the data processing device is running, and if the version is less than 14, the in-app file selection screen 511 is displayed when the photo print button 503 is selected, and if the version is 14 or later, the photo acquisition destination selection screen 531 is displayed when the photo print button 503 is selected. In other words, if there are no restrictions on application file access due to the OS specifications, a user-friendly file selection screen (511) within the app can be provided. If there are restrictions on application file access due to the OS specifications, the application can use the file selection screen provided by the OS via the photo acquisition destination selection screen (531), eliminating the need to ask the user for permission each time. Also, depending on the OS specifications, there may be restrictions on application file access, but all files can be accessed after obtaining permission from the user just once. In such cases where permission only needs to be obtained once, it is possible to provide either an in-app file selection screen or the file selection screen provided by the OS.

[0042] Returning to the explanation of Figure 5, the photo acquisition destination selection screen 531 includes a smartphone button 532 that selects the data processing device 101 as the acquisition destination for the photo files, a cloud service button 533 that selects cloud service 1 as the acquisition destination for the photo files, and another app button 534 that selects an application other than application 401 as the acquisition destination for the photo files.

[0043] The OS-provided file selection screen 541 is a screen that appears when the in-smartphone button 532 is selected, and is used to select the photo files to print. The OS-provided file selection screen 541 is a screen provided by the OS, for example, the Photo Picker screen provided by Android. The photo files 542 are thumbnails of the photo files contained in the target folder. The checkmark 543 is a display item that is displayed on top of the thumbnail so that the photo files selected by the user can be identified.

[0044] When the add button 544 is selected, the screen transitions to the print instruction screen 521. At this time, the file selected by the user on the OS-provided file selection screen 541 becomes the file to be printed. When printing is executed on the print instruction screen 521, a print job including the file selected on the OS-provided file selection screen 541 is sent to the image forming apparatus.

[0045] The condition setting screen 551 is displayed when the filter button 513 is selected, and it is a screen for setting the conditions for files to be displayed on the in-app file selection screen 511. Here, as an example, an example of setting the file creation date as the condition is shown. The date search button 522 is a button that sets whether or not to use the file creation date as the condition for displaying files. When the date search button 522 is enabled, the condition for displaying files becomes the file creation date. The start date 553 and end date 554 are display items that set the start and end dates of the creation date of the files to be displayed, respectively. Files created between the start date 553 and end date 554 will be displayed on the in-app file selection screen 511. The condition setting screen 551 also displays an import button 555 for importing files from other apps. When the import button 555 is selected, files imported from other applications can be printed. In this way, the in-app file selection screen 511 can be equipped with application-specific browser functions, such as filtering files to be displayed by date and accessing the cloud. On the other hand, the OS-provided file selection screen 541 cannot provide application-specific browser functions such as filtering by date. Here, we've used date filtering as an example of an application-specific feature, but you're not limited to this. You could also sort the file list by creation date, or display not only file thumbnails but also file names, file sizes, and creation dates.

[0046] The flowchart in Figure 7 describes the process of selecting a photo file for printing in application 401 and then printing the selected file. Each step in Figure 7 is realized by the CPU 202 executing a program stored in ROM 203 or storage device 209.

[0047] In step S701, the UI unit 402 accepts the selection of the photo print button 503. Then, in S702, the control unit 404 obtains the version of the OS on which the application 401 runs, that is, the OS running on the data processing device 101, and determines whether the obtained version is equal to or greater than a predetermined value. If it is determined to be equal to or greater than the predetermined value, the process proceeds to S721; otherwise, it proceeds to S703. For example, if the OS is Android 14 or higher, the process proceeds to S721; if it is Android 13 or lower, the process proceeds to S703. Here, the OS version is used for the determination, but the configuration is not limited to this. For example, a configuration that determines whether or not there are predetermined restrictions on access to OS files may also be used.

[0048] In S703, the file browser unit 406 displays the in-app file selection screen. In S704, the file browser unit 406 retrieves photo files contained in the storage device 209, etc., of the data processing device 101. Then, in S705, the file browser unit 406 displays a list of the retrieved photo files. Here, for example, the in-app file selection screen 511 is displayed.

[0049] In S706, the control unit 404 determines whether it has received an instruction from the user to select a file from the cloud. For example, it checks whether the cloud button 512 has been selected. If it has been selected, it proceeds to S710; otherwise, it proceeds to S707. In S710, the control unit 404 connects to the cloud service and accepts the user's selection operation from the list of files stored in the cloud storage. If a file selection has been accepted, the system may proceed to S709 or S727 to select that file as the file to be printed.

[0050] In S707, the control unit 404 determines whether it has received an instruction from the user to select a file from another application. For example, it determines whether the import button 555 has been selected. If it has been selected, it proceeds to S711; otherwise, it proceeds to S708. In S711, the control unit 404 launches the other application and accepts the user's selection operation from the list of files held by that other application. If a file selection has been accepted, the system may proceed to S709 or S727 to select that file as the file to be printed.

[0051] In S708, the control unit 404 determines whether a file has been selected on the in-app file selection screen. If it is determined that a file has been selected, the process proceeds to S712; otherwise, it proceeds to S709. In S712, the UI unit 402 displays a check mark 516 on the thumbnail of the file selected in S708, and then proceeds to S709.

[0052] At S709, the control unit 404 determines whether the "Next" button 518 has been selected on the in-app file selection screen. If the "Next" button 518 has been selected, the process proceeds to S727; otherwise, it returns to S706.

[0053] In S721, the UI unit 402 displays the photo acquisition destination selection screen 531. In S722, the control unit 404 determines whether the cloud service button 533 is selected on the photo acquisition destination selection screen 531. If it is selected, proceed to S710; otherwise, proceed to S723. In S723, the control unit 404 determines whether the other app button 534 is selected on the photo acquisition destination selection screen 531. If it is selected, proceed to S711; otherwise, proceed to S724. In S723, the control unit 404 determines whether the in-smartphone button 532 is selected on the photo acquisition destination selection screen 531. If it is selected, proceed to S725; otherwise, return to S721.

[0054] In S725, the file browser unit 406 instructs the OS 410 to display the OS-provided file selection screen. For example, here the file browser unit 406 instructs the OS 410 to display the Photo Picker screen.

[0055] In S726, the control unit 404 determines whether there is a photo file to be sent from the OS 410. If there is a file to be sent, the process proceeds to S726; otherwise, the process in S726 is repeated. At this point, if the user selects a file on the OS-provided file selection screen 541 and the add button 544 is selected, the selected file is sent from the OS 410 to the application 401.

[0056] In S727, the control unit 404 copies the photo file selected by the user to a memory area available to the application 401. In S728, the control unit 404 converts the selected photo file into Bitmap data. Then the UI unit 402 displays a preview screen of the selected file. In S730, the control unit 404 determines whether the print button 525 has been selected. If it has been selected, proceed to S731; otherwise, return to S729.

[0057] In S731, the control unit 404 sends a print job containing the file selected by the user to the target image processing device 104. Upon receiving the print job, the image processing device 104 prints the photo file selected by the user based on the print settings included in the print job.

[0058] Through the processing of the flowchart described above, if the OS version of the data processing device 101 is below a predetermined value and there are no restrictions on file access, the application will display a file selection screen, providing a user-friendly file browsing function. If the OS version is above a predetermined value and there are restrictions on file access, the application will display a file selection screen provided by the OS, avoiding the inconvenience of the user having to grant permission each time they select a file. In other words, it becomes possible to provide an appropriate file selection screen based on information about the OS on which the application is running.

[0059] In the flowchart example above, the system was configured to determine the OS version at S702, but this is not the only option. For example, the system could be configured to determine whether the OS is capable of displaying the Photo Picker screen. If the OS is capable of displaying the Photo Picker screen, the system proceeds to S721; otherwise, it proceeds to S703. Since some OS versions do not support Photo Picker, this determination can be used to provide an appropriate file selection screen. Furthermore, the system is not limited to determining whether the OS is capable of displaying the Photo Picker screen; it could also determine whether the file browser function provided by the OS is available.

[0060] Furthermore, in the example flowchart above, the file browser unit 406 is configured to instruct the OS 410 to display the OS-provided file selection screen at S725, but this is not the only configuration. The file browser unit 406 may also be configured to call the photo selection application of the data processing unit 101. Here, the photo selection application is, for example, Google Photos (registered trademark). The file selected by the photo selection application may also be received at S726.

[0061] Figure 6 shows an example of a screen used when selecting a document file to print in application 401. This screen is displayed when the user selects the document print button 502 on the menu screen 501. When the document print button 502 is selected, a document acquisition destination selection screen (not shown) is displayed, and the user selects the destination for the document file. This document acquisition destination selection screen is assumed to have a similar configuration to the photo acquisition destination selection screen 531. If the cloud service button is selected to select a cloud service as the document file acquisition destination, the document file is acquired from the cloud. If the smartphone button is selected to select the data processing device 101 as the document file acquisition destination, the file selection screen 610 is displayed.

[0062] The file selection screen 610 is the file browser screen provided by the OS, and here we are showing an example of the SAF (Storage Access Framework) screen in Android. Unlike the Photo Picker screen, the SAF screen does not list the photo files contained in storage, but rather shows the folder hierarchy, and the user selects the desired file by selecting a folder. Also, the application 401 cannot specify which screen opens by default in the SAF screen. Here, as an example, let's assume that the "Root" directory is opened. The file selection screen 610 displays the directory name 611, and a list of folders (612~617) contained in the "Root" directory.

[0063] The file selection screen 620 is displayed when the "App 401" folder button 616 is pressed. The file selection screen 620 displays a list of data (621-623) contained in the "App 401" folder and a button 624 to return to the previous directory. When a file is selected on the file selection screen 620, the user is redirected to a print instruction screen as shown in the print instruction screen 521, and the image processing device is instructed to print the selected document file. The file selection screens 610 and 620 are screens provided by the OS and are file selection screens that utilize the OS's file browser function. Even on the file selection screens 610 and 620, the user is not asked for permission each time a file is selected, even if the OS version is 14 or higher.

[0064] The flowchart in Figure 8 describes the process of selecting a document file to print in application 401 and then printing the selected file. Each step in Figure 8 is realized by the CPU 202 executing a program stored in ROM 203 or storage device 209.

[0065] In step S801, the UI unit 402 accepts the selection of the document print button 502.

[0066] In S802, the UI unit 402 displays the document retrieval destination selection screen. In S803, the control unit 404 determines whether the cloud service button is selected on the document retrieval destination selection screen. If it is selected, the process proceeds to S830; otherwise, it proceeds to S804. In S830, the control unit 404 connects to the cloud service and accepts the user's selection operation from the list of files stored in the cloud storage. If a file selection is accepted, the process may proceed to S806 or S807 to select that file as the file to be printed.

[0067] In S804, the control unit 404 determines whether a button on the smartphone is selected on the document acquisition destination selection screen. If selected, it proceeds to S805; otherwise, it returns to S802.

[0068] In S805, the file browser unit 406 instructs OS410 to display the OS-provided file selection screen. For example, here the file browser unit 406 instructs OS410 to display the SAF screen.

[0069] In S806, the control unit 404 determines whether or not there is a document file to be sent from the OS 410. If there is a send, the process proceeds to S807; otherwise, the process in S806 is repeated. If the user selects a file on the file selection screen 620, the selected file is sent from the OS 410 to the application 401.

[0070] In S807, the control unit 404 copies the document file selected by the user to a memory area available to the application 401. In S808, the control unit 404 converts the selected document file to JPEG data. Then, in S809, the UI unit 402 displays a preview screen of the selected file. In S810, the control unit 404 determines whether the print button 525 has been selected or not. If it has been selected, proceed to S811; otherwise, return to S809.

[0071] In S811, the control unit 404 sends a print job containing the file selected by the user to the target image processing device 104. Upon receiving the print job, the image processing device 104 prints the document file selected by the user based on the print settings included in the print job.

[0072] The flowchart described above ensures that when selecting a file for document printing, the SAF screen is displayed uniformly, regardless of the OS version. This prevents a decrease in usability when using the in-app file browser function due to OS specification changes, by consistently displaying the SAF screen.

[0073] As described above, when selecting a photo, the system is configured to switch between displaying the in-app file selection screen or the OS-provided file selection screen depending on the OS version of the data processing device 101. On the other hand, when selecting a document, the system is configured to display the OS-provided file selection screen uniformly, regardless of the OS version. However, the system is not limited to this configuration; it may also be configured to switch between displaying the in-app file selection screen or the OS-provided file selection screen depending on the OS version of the data processing device 101, whether selecting a photo or a document. Furthermore, it may also be configured to display the OS-provided file selection screen uniformly, whether selecting a photo or a document. In addition, while the flowchart example in Figure 7 shows the OS-provided file selection screen as Photo Picker, it may also be the SAF screen.

[0074] (Other examples) Furthermore, the present invention can also be realized by performing the following process: that is, supplying software (program) that realizes the functions of the above-described embodiment to a system or device via a network or various storage media, and having the computer (or CPU, MPU, etc.) of that system or device read and execute the program. In this case, the computer program and the storage medium storing the computer program constitute the present invention.

[0075] This embodiment includes the following configurations, methods, and programs.

[0076] (Composition 1) A program that causes a computer of a data processing device on which an operating system (OS) runs to execute a control method, The control method described above is A program characterized by having a control step that controls, based on information about the OS, whether to instruct the OS to display a first file selection screen using the file browser function provided by the OS, or to display a second file selection screen using the program's file browser function.

[0077] (Configuration 2) The program according to configuration 1, characterized in that the information regarding the OS is information about the OS version.

[0078] (Composition 3) The program according to configuration 1 or 2, characterized in that the information regarding the OS is information indicating whether the OS can provide a predetermined file selection screen.

[0079] (Composition 4) The program according to any one of configurations 1 to 3, characterized in that the files displayed on the second file selection screen can be filtered based on the file date information.

[0080] (Composition 5) A program according to any one of configurations 1 to 4, characterized in that, if the OS is of a predetermined version, the control step instructs the display of the first file selection screen, and if the OS is not of a predetermined version, the control step instructs the display of the second file selection screen.

[0081] (Composition 6) A program according to any one of configurations 1 to 5, characterized in that, when a photo file is selected, the control step controls whether to display the first file selection screen or the second file selection screen based on information about the OS, and when a document file is selected, the control step instructs the OS to display a file selection screen using the file browser function provided by the OS, regardless of information about the OS.

[0082] (Composition 7) A program according to any one of configurations 1 to 6, characterized in that, when a button for selecting print data to instruct an image forming apparatus to print is selected, the control process displays the second file selection screen if the OS meets predetermined conditions, and if the OS does not meet the predetermined conditions, the control process displays a screen for selecting a file acquisition destination, and when a predetermined acquisition destination is selected on that screen, the program instructs the OS to display the first file selection screen.

[0083] (Composition 8) The program described in any one of configurations 1 to 7, characterized in that the OS is Android (registered trademark).

[0084] (Composition 9) The program according to any one of configurations 1 to 8, characterized in that the first file selection screen extracts and displays photo files.

[0085] (Composition 10) The program according to any one of configurations 1 to 9, characterized in that the first file selection screen does not request user permission to access the file.

[0086] (Composition 11) The program according to any one of configurations 1 to 10, characterized in that the first file selection screen is used by multiple applications, and the second file selection screen is used by the program.

[0087] (Composition 12) The program is a program that issues a print command to an image forming apparatus, and the first file selection screen and the second file selection screen are screens for selecting print data, as described in any one of configurations 1 to 11.

[0088] (Composition 13) The program according to any one of configurations 1 to 12, characterized in that the second file selection screen includes display items for accessing a cloud service.

[0089] (Program 1) A program that causes a computer of a data processing device on which an operating system (OS) runs to execute a control method, The control method described above is A program characterized by having a control step that controls whether to display a file selection screen using the program's file browser function, which displays a screen for selecting a file source, based on information about the OS.

[0090] (Method 1) A control method for a computer that is a data processing device on which an operating system (OS) is running, A control method characterized by having a control step that controls, based on information about the OS, whether to instruct the OS to display a first file selection screen using the file browser function provided by the OS, or to display a second file selection screen using the program's file browser function.

[0091] (device 1) A data processing device on which an operating system (OS) runs, A data processing device characterized by having a control means that controls, based on information about the OS, whether to instruct the OS to display a first file selection screen using the file browser function provided by the OS, or to display a second file selection screen using the file browser function of the program.

Claims

1. A program that causes a computer of a data processing device on which an operating system (OS) runs to execute a control method, The control method described above is A program characterized by having a control step that controls, based on information about the OS, whether to instruct the OS to display a first file selection screen using the file browser function provided by the OS, or to display a second file selection screen using the program's file browser function.

2. The program according to claim 1, characterized in that the OS information is OS version information.

3. The program according to claim 1, characterized in that the information relating to the OS is information indicating whether a predetermined file selection screen provided by the OS can be provided.

4. The program according to claim 1, characterized in that the files displayed on the second file selection screen can be filtered based on the file date information.

5. The program according to claim 1, characterized in that, if the OS is a predetermined version, the control step instructs the system to display the first file selection screen, and if the OS is not a predetermined version, the control step instructs the system to display the second file selection screen.

6. The program according to claim 1, characterized in that, when a photo file is selected, the control step controls whether to display the first file selection screen or the second file selection screen based on information about the OS, and when a document file is selected, the control step instructs the OS to display a file selection screen using the file browser function provided by the OS, regardless of information about the OS.

7. The program according to claim 1, characterized in that, when a button for selecting print data to instruct the image forming apparatus to print is selected, the control step displays the second file selection screen if the OS meets predetermined conditions, and if the OS does not meet the predetermined conditions, the control step displays a screen for selecting a file acquisition destination, and when a predetermined acquisition destination is selected on that screen, the control step instructs the OS to display the first file selection screen.

8. The program according to claim 1, characterized in that the OS is Android®.

9. The program according to claim 1, characterized in that the first file selection screen extracts and displays photo files.

10. The program according to claim 1, characterized in that the first file selection screen does not request user permission to access the file.

11. The program according to claim 1, characterized in that the first file selection screen is used by multiple applications, and the second file selection screen is used by the program.

12. The program according to claim 1, wherein the program is a program that issues a print instruction to an image forming apparatus, and the first file selection screen and the second file selection screen are screens for selecting print data.

13. The program according to claim 1, characterized in that the second file selection screen includes display items for accessing a cloud service.

14. A program that causes a computer of a data processing device on which an operating system (OS) runs to execute a control method, The control method described above is A program characterized by having a control step that controls whether to display a file selection screen using the program's file browser function, which displays a screen for selecting a file source, based on information about the OS.

15. A control method for a computer that is a data processing device on which an operating system (OS) is running, A control method characterized by having a control step of controlling, based on information about the OS, whether to instruct the OS to display a first file selection screen using the file browser function provided by the OS, or to display a second file selection screen using the file browser function of the program.

16. A data processing device on which an operating system (OS) runs, A data processing device characterized by having a control means for controlling, based on information about the OS, whether to instruct the OS to display a first file selection screen using the file browser function provided by the OS, or to display a second file selection screen using the file browser function of the program.

Citation Information

Patent Citations

  • A media-enabled messaging system and method with publish-and-send functionality.

    JP2007513423A

  • Media / Audio Binding Protocols and Related User Interfaces

    JP2013536637A

  • Device control unit, device control method, and device control program

    JP2016031668A

  • Control method and program for communication terminal

    JP2019008370A

  • Information processing apparatus and operation-related information display method

    JP2020201888A