Electronic device and method for sharing data therewith
By integrating touch screen display, input/output interface and processor in electronic devices, data sharing problems between different operating system devices are solved, and seamless cross-system data transmission and drag operations are achieved.
Patent Information
- Application Number
- CN202010783245.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-08-06
- Filing Date
- 2020-08-06
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2040-08-06
AI Technical Summary
When sharing data between mobile electronic devices and external devices using different operating systems, it is difficult for the prior art to achieve seamless and convenient data transmission.
An electronic device is provided, including a touch screen display, an input/output interface, a memory and a processor, capable of outputting a screen associated with the electronic device in a display of an external device, and determining a target application based on the input, setting data reception path information to realize data sharing.
It realizes seamless and convenient data sharing between devices of different operating systems, and supports cross-system data transmission and drag operations.
Smart Images

Figure CN112347048B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application is based upon and claims the benefit of priority from Korean Patent Application No. 10-2019-0095415 filed on August 6, 2019, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference. Technical Field
[0003] The present disclosure relates to a technology for sharing data. More particularly, the present disclosure relates to a technology for sharing data between an electronic device and an external device. Background Art
[0004] Nowadays, various types of electronic devices are being developed and supplied. In particular, in addition to related-art desktop personal computers (PCs), the distribution of mobile devices with various functions, such as smartphones, tablet PCs, and wearable devices, is expanding. Furthermore, users are increasingly using various electronic devices together or in conjunction with one another. Consequently, interest in technologies for interlocking and utilizing multiple devices has increased.
[0005] The above information is provided as background information only to assist in understanding the present disclosure. No determination has been made, and no assertion is made, as to whether any of the above content is applicable as prior art with respect to the present disclosure. Summary of the Invention
[0006] Portable mobile electronic devices are easy to carry, but the display area is limited. Therefore, technologies have been developed for displaying screens associated with mobile electronic devices via displays of external devices connected to the mobile electronic devices. In this case, when the mobile electronic device and the external device use the same operating system, there may be no problem in transferring or sharing data with each other. However, when the mobile electronic device and the external device use different operating systems, a method for seamlessly transferring or sharing data with each other may be needed.
[0007] Aspects of the present disclosure are to address at least the above-mentioned problems and / or disadvantages and to provide at least the advantages described below. Therefore, one aspect of the present disclosure is to provide an electronic device that can seamlessly and easily share data when connected to an external device using a different operating system, and to provide a data sharing method for the electronic device.
[0008] Additional aspects will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the presented embodiments.
[0009] According to one aspect of the present disclosure, an electronic device is provided. The electronic device includes a touch screen display, an input / output interface connected to an external device, a memory, and at least one processor electrically connected to the touch screen display, the input / output interface, and the memory. The at least one processor may be configured to output a screen associated with the electronic device in a window displayed in a first area of a display of the external device based on the electronic device being connected to an external device using an operating system different from that of the electronic device through the input / output interface, output a sub-window corresponding to at least one application stored in the electronic device in the window, determine a target application based on an input applied to the sub-window from the external device, set data receiving path information based on characteristics of the target application to send the set data receiving path information to the external device, and receive data corresponding to the input from the external device based on the data receiving path information.
[0010] According to another aspect of the present disclosure, a method for sharing data of an electronic device is provided. The method includes outputting a screen associated with the electronic device in a window displayed in a first area of a display of the external device based on the electronic device being connected to an external device using an operating system different from that of the electronic device through an input / output interface, outputting a sub-window corresponding to at least one application stored in the electronic device within the window, determining a target application based on input applied to the sub-window from the external device, setting data reception path information based on characteristics of the target application to transmit the set data reception path information to the external device, and receiving data corresponding to the input from the external device based on the data reception path information.
[0011] Other aspects, advantages, and salient features of the present disclosure will be apparent to those skilled in the art from the following detailed description of various embodiments of the present disclosure, which is presented in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The above and other aspects, features and advantages of certain embodiments of the present disclosure will become more apparent through the following description in conjunction with the accompanying drawings, in which:
[0013] Figure 1 is a block diagram illustrating an electronic device in a network environment according to an embodiment of the present disclosure;
[0014] Figure 2 is a block diagram illustrating a procedure according to an embodiment of the present disclosure;
[0015] Figure 3 An operating environment of an electronic device according to an embodiment of the present disclosure is shown;
[0016] Figure 4 is a block diagram of an electronic device according to an embodiment of the present disclosure;
[0017] Figure 5 is a block diagram illustrating a program module of an electronic device according to an embodiment of the present disclosure;
[0018] Figure 6A and 6B shows a data sharing operation of an electronic device according to various embodiments of the present disclosure;
[0019] Figure 7 is a flowchart of a data sharing operation of an electronic device according to an embodiment of the present disclosure;
[0020] Figure 8 is a flowchart of a data sharing operation of an electronic device according to an embodiment of the present disclosure;
[0021] Figure 9 is a flowchart of a data sharing operation of an electronic device according to an embodiment of the present disclosure;
[0022] Figure 10 is a flowchart of a data sharing operation of an electronic device according to an embodiment of the present disclosure;
[0023] Figure 11 shows clip data copied in a clipboard of an electronic device according to an embodiment of the present disclosure; and
[0024] Figure 12 is a flowchart of a data sharing method of an electronic device according to an embodiment of the present disclosure.
[0025] Throughout the drawings, like reference numerals will be understood to refer to like parts, components, and structures. DETAILED DESCRIPTION
[0026] The following description, with reference to the accompanying drawings, is provided to facilitate a more comprehensive understanding of the various embodiments of the present disclosure as defined in the claims and their equivalents. The description includes various specific details to aid understanding, but these details should be construed as merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications may be made to the various embodiments described herein without departing from the scope and spirit of the present disclosure. Furthermore, descriptions of well-known functions and configurations may be omitted for clarity and brevity.
[0027] The terms and words used in the following description and claims are not limited to the literal meanings, but are merely used by the inventor to enable a clear and consistent understanding of the present disclosure. Therefore, it should be clear to those skilled in the art that the following description of various embodiments of the present disclosure is provided for illustration only and is not intended to limit the present disclosure as defined by the appended claims and their equivalents.
[0028] It is to be understood that the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to "a component surface" includes reference to one or more of such surfaces.
[0029] Figure 1 is a block diagram illustrating an electronic device 101 in a network environment 100 according to an embodiment of the present disclosure.
[0030] Reference Figure 1 , the electronic device 101 in the network environment 100 can communicate with the electronic device 102 via the first network 198 (e.g., a short-range wireless communication network), or communicate with the electronic device 104 or the server 108 via the second network 199 (e.g., a long-range wireless communication network). According to an embodiment, the electronic device 101 can communicate with the electronic device 104 via the server 108. According to an embodiment, the electronic device 101 may include a processor 120, a memory 130, an input device 150, a sound output device 155, a display device 160, an audio module 170, a sensor module 176, an interface 177, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190 (e.g., a transceiver), a subscriber identification module (SIM) 196, or an antenna module 197. In some embodiments, at least one of the components (e.g., the display device 160 or the camera module 180) may be omitted from the electronic device 101, or one or more other components may be added to the electronic device 101. In some embodiments, some of the components may be implemented as a single integrated circuit. For example, the sensor module 176 (eg, a fingerprint sensor, an iris sensor, or an illumination sensor) may be implemented as embedded in the display device 160 (eg, a display).
[0031] The processor 120 may run, for example, software (e.g., program 140) to control at least one other component of the electronic device 101 connected to the processor 120 (e.g., a hardware component or a software component), and may perform various data processing or calculations. According to one embodiment, as at least part of the data processing or calculation, the processor 120 may load commands or data received from another component (e.g., sensor module 176 or communication module 190) into the volatile memory 132, process the commands or data stored in the volatile memory 132, and store the resulting data in the non-volatile memory 134. According to an embodiment, the processor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)) and an auxiliary processor 123 (e.g., a graphics processing unit (GPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that is operationally independent of or combined with the main processor 121. Additionally or alternatively, the auxiliary processor 123 may be adapted to consume less power than the main processor 121, or adapted to be specifically used for a designated function. The auxiliary processor 123 may be implemented separately from the main processor 121 or as part of the main processor 121 .
[0032] When the main processor 121 is in an inactive (e.g., sleep) state, the auxiliary processor 123 may control at least some of the functions or states related to at least one component (e.g., the display device 160, the sensor module 176, or the communication module 190) among the components of the electronic device 101 (not the main processor 121), or when the main processor 121 is in an active state (e.g., running an application), the auxiliary processor 123 may control at least some of the functions or states related to at least one component (e.g., the display device 160, the sensor module 176, or the communication module 190) together with the main processor 121. Depending on the embodiment, the auxiliary processor 123 (e.g., an image signal processor or a communication processor) may be implemented as part of another component (e.g., the camera module 180 or the communication module 190) that is functionally related to the auxiliary processor 123.
[0033] The memory 130 may store various data used by at least one component of the electronic device 101 (e.g., the processor 120 or the sensor module 176). The various data may include, for example, software (e.g., the program 140) and input data or output data for commands related thereto. The memory 130 may include a volatile memory 132 or a non-volatile memory 134.
[0034] The program 140 may be stored as software in the memory 130 , and may include, for example, an operating system (OS) 142 , middleware 144 , or applications 146 .
[0035] The input device 150 may receive commands or data from outside the electronic device 101 (e.g., a user) to be used by other components of the electronic device 101 (e.g., the processor 120). The input device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (e.g., a stylus).
[0036] The sound output device 155 can output sound signals to the outside of the electronic device 101. The sound output device 155 may include, for example, a speaker or a receiver. The speaker can be used for general purposes such as playing multimedia or records, and the receiver can be used for incoming calls. Depending on the embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0037] The display device 160 can visually provide information to the outside of the electronic device 101 (e.g., a user). The display device 160 may include, for example, a display, a holographic device, or a projector, and a control circuit for controlling a corresponding one of the display, the holographic device, and the projector. Depending on the embodiment, the display device 160 may include a touch circuit adapted to detect a touch or a sensor circuit adapted to measure the strength of the force caused by the touch (e.g., a pressure sensor).
[0038] The audio module 170 can convert sound into an electrical signal, and vice versa. According to an embodiment, the audio module 170 can obtain sound via the input device 150, or output sound via the sound output device 155 or an earphone of an external electronic device (e.g., electronic device 102) directly (e.g., wired) or wirelessly connected to the electronic device 101.
[0039] The sensor module 176 can detect an operating state (e.g., power or temperature) of the electronic device 101 or an environmental state (e.g., a user's state) outside the electronic device 101, and then generate an electrical signal or data value corresponding to the detected state. Depending on the embodiment, the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illumination sensor.
[0040] The interface 177 may support one or more specific protocols to be used to connect the electronic device 101 directly (e.g., wired) or wirelessly to an external electronic device (e.g., the electronic device 102). Depending on the embodiment, the interface 177 may include, for example, a High-Definition Multimedia Interface (HDMI), a Universal Serial Bus (USB) interface, a Secure Digital (SD) card interface, or an audio interface.
[0041] The connection end 178 may include a connector, wherein the electronic device 101 can be physically connected to an external electronic device (e.g., the electronic device 102) via the connector. Depending on the embodiment, the connection end 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0042] The haptic module 179 may convert the electrical signal into mechanical stimulation (eg, vibration or motion) or electrical stimulation that can be recognized by the user via his sense of touch or kinesthetic sense. According to an embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulator.
[0043] The camera module 180 may capture still images or moving images. Depending on the embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
[0044] The power management module 188 may manage power supply to the electronic device 101. According to an embodiment, the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
[0045] The battery 189 may power at least one component of the electronic device 101. According to an embodiment, the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0046] The communication module 190 may support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108), and perform communication via the established communication channel. The communication module 190 may include one or more communication processors capable of operating independently from the processor 120 (e.g., an application processor (AP)) and supporting direct (e.g., wired) communication or wireless communication. Depending on the embodiment, the communication module 190 may include a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules can communicate with an external electronic device via a first network 198 (e.g., a short-range communication network such as Bluetooth, Wireless Fidelity (Wi-Fi) Direct, or Infrared Data Association (IrDA)) or a second network 199 (e.g., a long-range communication network such as a cellular network, the Internet, or a computer network (e.g., a LAN or a wide area network (WAN))). These various types of communication modules can be implemented as a single component (e.g., a single chip), or these various types of communication modules can be implemented as multiple components separated from each other (e.g., multiple chips). The wireless communication module 192 can identify and authenticate the electronic device 101 in a communication network (such as the first network 198 or the second network 199) using user information (e.g., an International Mobile Subscriber Identity (IMSI)) stored in the user identification module 196.
[0047] Antenna module 197 can transmit or receive signals or power to or from the outside of electronic device 101 (e.g., an external electronic device). Depending on the embodiment, antenna module 197 may include an antenna comprising a radiating element formed of a conductive material or conductive pattern formed in or on a substrate (e.g., a printed circuit board (PCB)). Depending on the embodiment, antenna module 197 may include multiple antennas. In this case, at least one antenna suitable for the communication scheme used in a communication network (such as first network 198 or second network 199) may be selected from the multiple antennas by, for example, communication module 190 (e.g., wireless communication module 192). Signals or power can then be transmitted or received between communication module 190 and the external electronic device via the selected at least one antenna. Depending on the embodiment, additional components other than the radiating element (e.g., a radio frequency integrated circuit (RFIC)) may also be formed as part of antenna module 197.
[0048] At least some of the above components can be connected to each other via an inter-peripheral communication scheme (e.g., a bus, general-purpose input output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)) and communicatively transmit signals (e.g., commands or data) therebetween.
[0049] According to an embodiment, commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 via the server 108 connected to the second network 199. Each of the electronic device 102 and the electronic device 104 may be a device of the same type as the electronic device 101, or a device of a different type than the electronic device 101. According to an embodiment, all or some operations to be executed on the electronic device 101 may be executed on one or more of the external electronic device 102, the external electronic device 104, or the server 108. For example, if the electronic device 101 should automatically execute a function or service or should execute a function or service in response to a request from a user or another device, the electronic device 101 may request the one or more external electronic devices to execute at least part of the function or service instead of executing the function or service, or the electronic device 101 may request the one or more external electronic devices to execute at least part of the function or service in addition to executing the function or service. The one or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or execute another function or service related to the request, and transmit the result of the execution to the electronic device 101. The electronic device 101 may provide the result as at least a partial response to the request, either by further processing the result or without further processing the result. To this end, for example, cloud computing technology, distributed computing technology, or client-server computing technology may be used.
[0050] Figure 2 is a block diagram 200 illustrating a program 140 according to an embodiment of the present disclosure.
[0051] Reference Figure 2 The program 140 may include an operating system (OS) 142 for controlling one or more resources of the electronic device 101, middleware 144, or an application 146 that can be run in the OS 142. The OS 142 may include, for example, an Android TM 、iOS TM , Windows TM , Symbian TM 、Tizen TM or Bada TMFor example, at least a portion of the program 140 may be preloaded onto the electronic device 101 during manufacturing, or at least a portion of the program 140 may be downloaded from an external electronic device (e.g., the electronic device 102 or the electronic device 104, or the server 108) or updated by the external electronic device during user use.
[0052] The OS 142 may control the management (e.g., allocation or deallocation) of one or more system resources (e.g., processes, memory, or power) of the electronic device 101. Additionally or alternatively, the OS 142 may include one or more drivers for driving other hardware devices of the electronic device 101 (e.g., the input device 150, the sound output device 155, the display device 160, the audio module 170, the sensor module 176, the interface 177, the haptic module 179, the camera module 180, the power management module 188, the battery 189, the communication module 190, the user identification module 196, or the antenna module 197).
[0053] The middleware 144 may provide various functions to the application 146 so that the application 146 can use functions or information provided from one or more resources of the electronic device 101. The middleware 144 may include, for example, an application manager 201, a window manager 203, a multimedia manager 205, a resource manager 207, a power manager 209, a database manager 211, a package manager 213, a connection manager 215, a notification manager 217, a location manager 219, a graphics manager 221, a security manager 223, a telephony manager 225, or a voice recognition manager 227.
[0054] The application manager 201 may, for example, manage the life cycle of the application 146. The window manager 203 may, for example, manage one or more graphical user interface (GUI) resources used on the screen. The multimedia manager 205 may, for example, identify one or more formats to be used to play a media file and may encode or decode a corresponding media file among the media files using a codec suitable for the corresponding format selected from the one or more formats. The resource manager 207 may, for example, manage the source code of the application 146 or the storage space of the memory 130. The power manager 209 may, for example, manage the capacity, temperature, or power of the battery 189 and may determine or provide relevant information to be used for the operation of the electronic device 101 based at least in part on the corresponding information of the capacity, temperature, or power of the battery 189. According to an embodiment, the power manager 209 may work in conjunction with the basic input / output system (BIOS) (not shown) of the electronic device 101.
[0055] The database manager 211 may, for example, generate, search, or change a database to be used by the application 146. The package manager 213 may, for example, manage the installation or update of applications distributed in the form of package files. The connection manager 215 may, for example, manage wireless connections or direct connections between the electronic device 101 and external electronic devices. The notification manager 217 may, for example, provide a function for notifying the user of the occurrence of a specific event (e.g., an incoming call, message, or alarm). The location manager 219 may, for example, manage location information about the electronic device 101. The graphic manager 221 may, for example, manage one or more graphic effects to be provided to the user or a user interface (UI) related to the one or more graphic effects.
[0056] The security manager 223 may, for example, provide system security or user authentication. The phone manager 225 may, for example, manage a voice call function or a video call function provided by the electronic device 101. The voice recognition manager 227 may, for example, send user voice data to the server 108 and receive commands from the server 108 corresponding to functions that are executed on the electronic device 101 based at least in part on the voice data or text data converted at least in part on the voice data. According to an embodiment, the middleware 144 ( Figure 2 142) can dynamically delete some existing components or add new components. According to an embodiment, at least a portion of the middleware 144 can be included as a part of the OS 142, or at least a portion of the middleware 144 can be implemented as another software separate from the OS 142.
[0057] The applications 146 may include, for example, a homepage 251, a dialer 253, a short message service (SMS) / multimedia message service (MMS) 255, an instant message (IM) 257, a browser 259, a camera 261, an alarm 263, a contact 265, a voice recognition 267, an email 269, a calendar 271, a media player 273, an album 275, a watch 277, a health 279 (e.g., for measuring exercise level or bio-information (such as blood sugar)) or an environmental information 281 (e.g., for measuring air pressure, humidity or temperature information) application. According to an embodiment, the applications 146 may also include an information exchange application (not shown) capable of supporting information exchange between the electronic device 101 and an external electronic device. The information exchange application may, for example, include a notification forwarding application adapted to transmit specified information (e.g., a call, message or alarm) to an external electronic device or a device management application adapted to manage an external electronic device. The notification forwarding application may transmit notification information corresponding to a specific event (e.g., receipt of an email) occurring in another application (e.g., email application 269) of the electronic device 101 to an external electronic device. Additionally or alternatively, the notification forwarding application may receive notification information from the external electronic device and provide the notification information to the user of the electronic device 101.
[0058] The device management application can control the power (e.g., turning on or off) or functions (e.g., adjusting brightness, resolution, or focus) of the external electronic device or some components of the external electronic device (e.g., a display device or camera module of the external electronic device). Additionally or alternatively, the device management application can support the installation, deletion, or update of applications running on the external electronic device.
[0059] Figure 3 An operating environment of an electronic device according to an embodiment of the present disclosure is shown.
[0060] Reference Figure 3 , according to an embodiment, the electronic device 300 may be connected to an external device 350. For example, the electronic device 300 may be a mobile device such as a smartphone, a tablet PC, or a wearable device. For example, the external device 350 may be a device including a display 351 larger than the electronic device 300 (e.g., a notebook or desktop PC and a monitor). According to an embodiment, the external device 350 may be a device using an operating system different from the operating system of the electronic device 300. For example, the electronic device 300 may include an Android operating system. For example, the external device 350 may include a Windows operating system.
[0061] According to an embodiment, the electronic device 300 may be connected to the external device 350 via an input / output interface (e.g., USB or HDMI). According to an embodiment, the electronic device 300 may be connected to the external device 350 via a relay device (not shown). For example, the relay device may be a docking station (or a docking station). According to an embodiment, the electronic device 300 may be wirelessly connected to the external device 350 via a communication module. Figure 3 The electronic device 300 is connected to the external device 350 through an input / output interface (eg, a USB or HDMI cable), but is not limited thereto. The electronic device 300 may be connected to the external device 350 in various ways.
[0062] According to an embodiment, when the electronic device 300 is connected to the external device 350, the electronic device 300 may output a screen through the display 351 of the external device 350. According to an embodiment, the electronic device 300 may output a window 353 associated with the electronic device 300 to at least a portion of the display 351 of the external device 350. For example, the electronic device 300 may output a sub-window 355 corresponding to at least one application stored in the electronic device 300 in the window 353 associated with the electronic device 300 displayed on the display 351 of the external device 350.
[0063] According to an embodiment, the electronic device 300 may reconstruct the screen displayed on the touch screen display of the electronic device 300. For example, the electronic device 300 may reconstruct the screen displayed on the touch screen display into a window 353 to output on the display 351 of the external device 350. According to an embodiment, the electronic device 300 may organize sub-windows 355 corresponding to applications based on the characteristics of the applications. For example, the electronic device 300 may organize sub-windows 355 having features corresponding to the features of the applications. According to an embodiment, the electronic device 300 may output the reconstructed screen through the display 351 of the external device 350. For example, the electronic device 300 may reconstruct the screen displayed on the touch screen display into a user interface (UI) or user experience (UX) that is similar to the UI or UX for using a desktop PC, and the electronic device 300 may output the reconstructed screen through the display 351 of the external device 350. For example, when the external device 350 is a desktop PC, the electronic device 300 may reconstruct a UI or UX having a size, arrangement, or format similar to that of a UI or UX provided by an operating system of the external device 350 (e.g., a Windows operating system) and may output the reconstructed UI or UX through the display 351 of the external device 350 (e.g., a monitor connected to the desktop PC).
[0064] According to an embodiment, the electronic device 300 and the external device 350 may operate independently. For example, the touch screen display of the electronic device 300 and the display 351 of the external device 350 may output different types of UI or UX. For example, when the electronic device 300 executes an application, the screen of the executed application may be displayed on the touch screen display of the electronic device 300; when the application is executed by the external device 350, the screen of the executed application (e.g., sub-window 355) may be displayed in at least a portion of the display of the external device 350 (e.g., window 351). According to various embodiments, the touch screen display of the electronic device may be turned off depending on the user setting or status of the electronic device 300 (e.g., the battery status of the electronic device 300); at least a partial area (e.g., window 353) of the display 351 of the external device 350 or at least the application screen (e.g., sub-window 355) within the partial area may be displayed.
[0065] According to an embodiment, the electronic device 300 may be connected to an external input device, such as a keyboard or a mouse, by wire or wirelessly. According to an embodiment, the electronic device 300 may receive user input through the connected external input device. According to an embodiment, when the external device 350 is connected to an external input device such as a keyboard or a mouse, the electronic device 300 may receive user input through the external input device connected to the external device 350. According to an embodiment, the electronic device 300 may receive user input through the touch screen display of the electronic device 300 or the input device of the external device 350 (e.g., the touch screen display of the external device 350).
[0066] Figure 4 is a block diagram of an electronic device 400 according to an embodiment of the present disclosure.
[0067] Reference Figure 4 , electronic device 400 (eg, Figure 1 The electronic device 101 may include a touch screen display 410, an input / output interface 420, a communication circuit 430, a memory 440 and a processor 450.
[0068] According to an embodiment, the touch screen display 410 (e.g., Figure 1 The display device 160 of the electronic device 400 may detect touch input and may output a screen. For example, the touch screen display 410 may include a touch panel that detects touch input and a display panel that outputs an image. Depending on the embodiment, when the electronic device 400 is connected to the external device 470, the touch screen display 410 may not output a screen. Depending on the embodiment, even when the electronic device 400 is connected to the external device 470, the touch screen display 410 may output a screen or may detect touch input.
[0069] According to an embodiment, the input / output interface 420 (eg, Figure 1 The input / output interface 420 may be connected to the external device 470. For example, the input / output interface 420 may be connected to the external device 470 wirelessly or by wire. According to an embodiment, the input / output interface 420 may be connected to the external device 470 via a relay device such as a docking station or a docking station, or may be connected to the external device 470 via a cable. For example, the input / output interface 420 may include various interfaces such as USB, HDMI, D-subminiature (D-SUB), or an optical interface. For example, the input / output interface 420 may include a communication interface capable of wirelessly communicating with the external device 470.
[0070] According to an embodiment, the communication circuit 430 (e.g., Figure 1The communication module 190 of the electronic device 400 may communicate with the server 490. For example, the communication circuit 430 may communicate with the server 490 using various communication schemes including long term evolution (LTE) or Wi-Fi. For example, the communication circuit 430 may receive information from the server 490. For example, the communication circuit 430 may receive a list of applications that support window resizing or a list of applications that cannot be executed when the electronic device 400 is connected to the external device 470 from the server 490.
[0071] According to an embodiment, the memory 440 (e.g., Figure 1 The memory 130 of the electronic device 400 may include a volatile and / or non-volatile memory 440. For example, the memory 440 may store one or more applications. For another example, the memory 440 may include a first launcher (e.g., a normal mode launcher 520) for the touch screen display 410 and a second launcher (e.g., a desktop mode launcher 510) for the external device 470. According to an embodiment, the memory 440 may store an operating system (e.g., an Android operating system) of the electronic device 400 and may store a framework included in the operating system. According to an embodiment, the memory 440 may store at least a portion of a program (e.g., Figure 1 or Figure 2 Program 140 or Figure 5 (a program module of the electronic device 500).
[0072] According to an embodiment, the processor 450 (e.g., Figure 1 The processor 120 of the embodiment may be electrically connected to the touch screen display 410, the input / output interface 420, the communication circuit 430, and the memory 440. According to an embodiment, the processor 450 may control the touch screen display 410, the input / output interface 420, the communication circuit 430, and the memory 440.
[0073] According to an embodiment, when the electronic device 400 is connected to the external device 470 via the input / output interface 420 using an operating system different from that of the electronic device 400, the processor 450 may output a screen associated with the electronic device 400 in a window displayed in a first area of the display of the external device 470. For example, the operating system of the electronic device 400 may be an Android operating system; the operating system of the external device 470 may be a Windows operating system. According to an embodiment, when the electronic device 400 is connected to the external device 470, the processor 450 may request or control the external device 470 to output a window to an area of the display of the external device 470. For example, the processor 450 may output a screen associated with the electronic device 400 in a window that the external device 470 (e.g., the operating system of the external device 470) outputs to an area of the display of the external device 470.
[0074] According to an embodiment, the electronic device 400 may organize the screens displayed on the touch screen display 410 of the electronic device 400 or the screens corresponding to at least one application stored in the electronic device and may output the organized screens in a window displayed in the first area of the display of the external device 470. For example, when the electronic device 400 and the external device 470 are connected to each other, the external device 470 (e.g., the operating system of the external device 470) may output a window to at least a partial area (e.g., the first area) of the display of the external device 470. For example, the electronic device 400 may output a screen associated with the electronic device 400 in a window displayed in the first area of the display of the external device 470. According to an embodiment, when the electronic device 400 is connected to the external device 470, the electronic device 400 may change screen configuration information associated with at least a portion of the resolution, density, or orientation of the screen associated with the electronic device 400. For example, the electronic device 400 may output the screen associated with the electronic device 400 in a window in the first area based on the changed screen configuration information. According to various embodiments, the touch screen display 410 of the electronic device 400 and the screen output in the window in the first area may be independent of each other. For example, screens associated with the same application may be output to the touchscreen display 410 of the electronic device 400 and the first area of the external device 470; alternatively, screens associated with different applications may be output to the touchscreen display 410 and the first area of the external device 470. For example, a screen corresponding to an email application of the electronic device 400 may be displayed on the touchscreen display 410; a screen corresponding to a file management application of the electronic device 400 may be displayed in a window in the first area. According to an embodiment, after the electronic device 400 is connected to the external device 470, the touchscreen display 410 of the electronic device 400 may be turned off based on user input or settings.
[0075] According to an embodiment, the electronic device 400 may display a screen associated with the external device 470 in a second area that is not the first area in the display of the external device 470. For example, the processor 450 may control the screen configured by the operating system of the electronic device 400 to be output in the first area (window) of the display of the external device 470, and may control the screen configured by the operating system of the external device 470 to be output in the second area.
[0076] According to an embodiment, the processor 450 may output a sub-window corresponding to at least one application stored in the electronic device 400 in a window. For example, the electronic device 400 may output a sub-window corresponding to at least one corresponding application being executed in the electronic device 400 in a window in a first area. According to an embodiment, when the electronic device 400 is connected to the external device 470, the electronic device 400 may organize the sub-windows corresponding to the applications based on the changed screen configuration information and may output the organized sub-windows in the first area. For example, the processor 450 may display data (e.g., a file, text, an image, or Hypertext Markup Language (HTML)) associated with the corresponding application in a sub-window.
[0077] According to an embodiment, when an input is applied to the sub-window from the external device 470, the processor 450 may determine a target application based on the applied input. For example, the input to the sub-window may include a drag input from the second area to a point in the sub-window through the external device 470 (e.g., an input device of the external device 470 (e.g., a touch panel, a touch screen display, a keyboard, etc.) or an input device connected to the external device 470 (e.g., a mouse, a keyboard, a touch pad, a touch screen display, etc.)). For example, when a drag input is applied to move specific data (e.g., a file) displayed in the second area from the external device 470 to the sub-window, the processor 450 may determine that the application corresponding to the sub-window is the target application.
[0078] According to an embodiment, the processor 450 may set data receiving path information based on the characteristics of the target application and may send the data receiving path information to the external device 470. For example, the processor 450 may identify the characteristics of the target application. For example, the characteristics of the application may include information about whether the application supports data migration or whether the application supports data attachment. For example, a file management application (e.g., My Files), a gallery application, or an interlocking application (e.g., Dex) may support data migration. For example, a messaging application, an email application, and a memo application may support file attachment. The above applications are not limited to these as examples, and various applications may support data migration or file attachment.
[0079] Depending on the embodiment, processor 450 may set data receiving path information based on the properties of the application. For example, if the target application supports data attachment, processor 450 may identify a storage path for the location where the attached data is stored. For example, in the Android operating system, processor 450 may identify a storage path for a hidden folder that stores the attached data. For example, an application that supports data attachment may attach data stored in the hidden folder. Depending on the embodiment, processor 450 may set data receiving path information based on the identified storage path and transmit the data receiving path information to external device 470.
[0080] According to an embodiment, the processor 450 may receive path information of data corresponding to the input to the sub-window from the external device 470, and may determine whether the data corresponding to the input can be applied to the target application based on the received path information of the data. For example, the processor 450 may determine whether the corresponding data can be applied to the target application based on information associated with the data received from the external device 470. According to an embodiment, when the data corresponding to the input cannot be supported or applied in the target application, the processor 450 may provide a notification thereof through the display of the external device 470.
[0081] According to an embodiment, the processor 450 may receive data corresponding to an input from the external device 470 based on the data reception path information. According to an embodiment, the processor 450 may temporarily store data received through the set data reception path in the memory 440.
[0082] According to an embodiment, when a drag input is applied from a first area to a second area from an external device 470, the processor 450 may send path information of data corresponding to the drag input to the external device 470. According to an embodiment, the processor 450 may send information corresponding to the input to the external device 470 so that the external device 470 using a different operating system can process continuous drag input. For example, when the drag input is to drag out the window boundary of the first area, the processor 450 may interrupt the input processing mechanism under the operating system of the electronic device 400 and may provide information associated with the input to the external device 470 to allow the external device 470 to continuously process the input under the operating system of the external device 470. According to an embodiment, the processor 450 may allow continuous input between a first area (e.g., a window or sub-window) associated with the electronic device 400 and a second area associated with the external device 470 displayed on the display of the external device 470 to be seamlessly processed.
[0083] According to an embodiment, when an input is applied to a window from an external device 470, the processor 450 may determine whether there is clipping data copied from the external device 470. For example, when an input for selecting or focusing a window of a first area is applied from an external device 470, the electronic device 400 may determine whether there is clipping data copied in a clipboard of the external device 470. According to an embodiment, when an input for selecting or focusing a window of a first area is applied from an external device 470, the processor 450 may receive path information about the clipping data copied from the external device 470. According to an embodiment, the processor 450 may provide information associated with the copied clipping data to the clipboard of the electronic device 400 based on the path information about the copied clipping data. According to an embodiment, the clipboard of the electronic device 400 may be a local storage area of the memory 440 configured to be used when copying or pasting data. According to an embodiment, the clipboard may store one or more pieces of data. According to an embodiment, even when the electronic device 400 is powered off and a storage operation is not performed according to a separate user input, the data stored in the clipboard may be maintained without being deleted. For example, the information associated with the copied clip data may be path information of the data (e.g., a file uniform resource identifier (URI)). For example, the file URI may fail to provide intuitive information to the user. According to an embodiment, the processor 450 may display a UI (e.g., a folder icon) that intuitively indicates that there is clip data copied from the external device 470 in the clipboard of the electronic device 400.
[0084] According to an embodiment, if copied data exists in the clipboard of electronic device 400, when an input to the second area is applied from external device 470, processor 450 may transmit at least a portion of the data copied in the clipboard of electronic device 400 to external device 470. For example, if copied data exists in the clipboard of electronic device 400, when an input for selecting or focusing the second area is applied from external device 470, processor 450 may transmit at least a portion of the data copied in the clipboard of electronic device 400 (e.g., the most recently copied data) to external device 470. For example, electronic device 400 may allow external device 470 to set the transmitted data as the clipped data of external device 470. According to an embodiment, if copied data exists in the clipboard of electronic device 400, when an input to the second area is applied from external device 470, processor 450 may convert information regarding at least a portion of the data copied in the clipboard of electronic device 400 into a format that can be utilized by the operating system of external device 470. For example, the processor 450 may transmit information about the converted data to the external device 470 .
[0085] According to an embodiment, after input is applied to a window from external device 470, input may be additionally applied to a sub-window. For example, after input for focusing a window is applied from external device 470, input for pasting clipped data stored in a clipboard of external device 470 into a specific sub-window may be applied. According to an embodiment, when input for pasting clipped data into a sub-window is applied, processor 450 may determine a target application corresponding to the sub-window and may set data reception path information based on characteristics of the target application to transmit the data reception path information to external device 470. According to an embodiment, processor 450 may receive clipped data from external device 470 based on the data reception path information.
[0086] According to various embodiments of the present disclosure, when connected to an external device using a different operating system, the electronic device 400 (e.g., the processor 450) can smoothly process continuous input under the different operating systems, and can provide a method for efficiently transmitting and sharing data between devices using different operating systems.
[0087] Figure 5 is a block diagram illustrating program modules of the electronic device 500 according to an embodiment of the present disclosure.
[0088] Reference Figure 5 , electronic device 500 (eg, Figure 1 electronic device 101 or Figure 4 The electronic device 500 may store at least one program. For example, the electronic device 500 may include a first application App1 501, a second application App2 503, a desktop mode launcher 510, a normal mode launcher 520, and a framework 530. Depending on the embodiment, the electronic device 500 may store at least one data item. For example, the electronic device 500 may store resources 550, configuration 560, and device information 570.
[0089] According to an embodiment, the electronic device 500 may include a communication module 540. According to an embodiment, Figure 5 The programs or data shown in may be stored in a memory (e.g., Figure 1 Memory 130 or Figure 4 440) and can be processed by a processor (e.g., Figure 1 Processor 120 or Figure 4 According to various embodiments, the program or data stored by the electronic device 500 may include Figure 1 or Figure 2 According to various embodiments, the program or data stored by the electronic device is not limited to Figure 5those shown in ; it may also include programs or data necessary to execute the embodiments disclosed in this specification, or some programs or data may be omitted.
[0090] According to an embodiment, the electronic device 500 may store a plurality of applications. Figure 5 503. However, the embodiment is not limited thereto. For example, the electronic device 500 may store any number of applications. According to an embodiment, each application (e.g., the first application App1 501 or the second application App2 503) may include at least one activity. According to various embodiments, the activity may require only a horizontal screen, only a vertical screen, or both horizontal and vertical screens, depending on how the screens are organized. According to an embodiment, when the electronic device 500 is connected to an external device, the activity may be output on the organized screen based on the resolution of the display of the external device.
[0091] According to an embodiment, when the electronic device 500 is connected to an external device, the desktop mode launcher 510 may be executed. According to an embodiment, when the electronic device 500 is connected to the external device, the desktop mode launcher 510 may provide an introduction to the desktop mode and may provide an option to execute the desktop mode or a mirror connection option. For example, when the electronic device 500 and the external device are connected to each other, the desktop mode may be a mode in which the screen associated with the electronic device can be output to at least a partial area of the display of the external device. For example, the introduction to the desktop mode may include a description of the desktop mode, a method for executing the desktop mode (how to use the desktop mode), functions that provide the desktop mode, information about programs or applications necessary to execute the desktop mode, and / or information about the installation method. According to an embodiment, the desktop mode launcher 510 may provide a UI or UX similar to that of the desktop displayed on the external device. According to an embodiment, the desktop mode launcher 510 may support resizing of resizable windows or sub-windows.
[0092] According to an embodiment, the desktop mode launcher 510 may include a whitelist update service 513 and a whitelist database (DB) 511. For example, the whitelist update service 513 may be a program for managing a whitelist, and the whitelist DB 511 may include the whitelist and related data. The whitelist update service 513 may obtain a whitelist from a server, which is a list of applications that support resizing. For example, the whitelist update service 513 may use an alarm service to determine whether the whitelist has been updated in the server at a specified period after the desktop mode launcher 510 is executed. The whitelist update service 513 may use an application programming interface (API) provided by the content cloud server to obtain the URI of the whitelist file and may download the whitelist file. According to an embodiment, the whitelist DB 511 may store the name of the application that supports resizing and / or the name of the package. According to various embodiments, the whitelist DB 511 may store the name of the application that supports resizing and / or the name of the package among the applications installed in the electronic device 500.
[0093] According to an embodiment, when the electronic device 500 is not connected to an external device, the normal mode launcher 520 may be executed. According to an embodiment, the normal mode launcher 520 may provide a UI or UX such as a home screen displayed on a touch screen display. According to an embodiment, even when the electronic device 500 is connected to an external device, the normal mode launcher 520 may provide a UI or UX displayed on the touch screen display of the electronic device 500. According to an embodiment, when the electronic device 500 is connected to an external device, the desktop mode launcher 510 may provide a screen displayed on the display of the external device, and the normal mode launcher 520 may not provide a screen displayed on the touch screen display of the electronic device 500. For example, when the electronic device 500 is connected to an external device, the display of the external device may provide a screen associated with the electronic device 500 and the touch screen display of the electronic device 500 may be turned off. According to an embodiment, when both the electronic device 500 and the external device are used, the normal mode launcher 520 may provide a screen displayed on the touch screen display of the electronic device 500, and the desktop mode launcher 510 may provide a screen displayed on the display of the external device. For example, in a dual mode where both the electronic device 500 and an external device are used, the normal mode launcher 520 and the desktop mode launcher 510 may independently provide a screen displayed on the touch screen display of the electronic device 500 and a screen displayed on the display of the external device, respectively.
[0094] According to an embodiment, the framework 530 may include a desktop mode manager 531 , a desktop on PC (DoP) movement manager 532 , a display manager 533 , a window manager 534 , a clipboard manager 535 , a view manager 536 , and an activity manager 537 .
[0095] When an application is executed, the desktop mode manager 531 may obtain information associated with resizing of the executed application. For example, the desktop mode manager 531 may obtain information associated with the manifest of the application, whether the application corresponds to a preloaded application, whether the application is included in a whitelist, and the like. According to an embodiment, when an application is executed, the desktop mode manager 531 may generate exceptions for each application. For example, the exception may include at least one of the following: information on whether the application is executed in a compatibility mode (e.g., a static window) or a freeform window, information on whether screen orientation is supported, or information on whether resizing is supported.
[0096] According to an embodiment, when receiving user input via an input device (e.g., a mouse, keyboard, or touch panel (touchscreen display)), the DoP mobile manager 532 may transmit information corresponding to the user input (e.g., coordinate information) to the external device. According to an embodiment, the external device may include a DoP PC manager corresponding to the DoP mobile manager 532. For example, the DoP mobile manager 532 may deliver events for each application being executed by the electronic device 500 to the external device (e.g., the DoP PC manager). For example, the DoP PC manager of the external device may deliver event information generated from the external device to the electronic device 500 (e.g., the DoP mobile manager 532). According to an embodiment, when the external device is first connected to the electronic device 500 via an input / output interface (e.g., USB or HDMI), the DoP mobile manager 532 may install a driver in the external device. For example, when the external device is connected, the DoP mobile manager 532 may provide an introduction to desktop mode and a guide for installing a DoP PC program (e.g., the DoP PC manager) to execute desktop mode. According to an embodiment, when an input associated with a window or sub-window output to a display of the external device is input from an external device, the DoP mobile manager 532 may work with the DoP PC manager of the external device to perform a function of transmitting or sharing data. For example, when a user input is moved between a window associated with the electronic device 500 displayed on the display of the external device and a screen associated with the external device, the DoP mobile manager 532 and the DoP PC manager may provide information to each other to process the user input. According to an embodiment, the DoP PC manager may support a connection between the electronic device 500 and the external device, and may perform functions such as window frame output to the external device, migration of data (e.g., folders, files, text, or HTML), and processing user input (user input control or synchronization control).
[0097] According to an embodiment, the display manager 533 may organize or control screens displayed on the touch screen display of the electronic device 500 and / or the display of an external device. For example, the display manager 533 may organize screens to be output to a sub-window generated by the window manager 534, and may output screens associated with the electronic device in a window or a sub-window.
[0098] According to an embodiment, the window manager 534 may change the configuration 560. The window manager 534 may generate a sub-window based on the changed configuration 560. For example, when the configuration 560 is changed, the window manager 534 may generate an event indicating the configuration 560 has been changed and may generate a window or sub-window based on the changed configuration 560. The window manager 534 may display icons in the top header of a window or sub-window that provide functions such as "Back," "Minimize," "Maximize," and / or "Close." For example, some icons may be omitted from the top header of a window or sub-window because an application that does not support a specific orientation (e.g., landscape orientation) (e.g., an application that only supports portrait orientation) does not provide rotation and maximization functions depending on the application's characteristics. According to various embodiments, the window manager 534 may generate multiple windows (sub-windows) simultaneously and may provide multi-instance functionality. For example, the minimum size of a sub-window may be set to a size that ensures the application's minimum usability. For example, the maximum size of a window (sub-window) may be the size of the entire display area of the external device. According to an embodiment, when a window is terminated (removed) from the display of an external device, the window manager 534 may cause the application to be completely killed (process terminated) on the memory without being executed in the background. According to an embodiment, when the size of the window is smaller than the area of the content displayed in the window, the window manager 534 may provide a scroll bar for the window. According to an embodiment, when the capacity of the available memory is less than the set amount when outputting multiple windows, the electronic device 500 (e.g., the window manager 534) may cause a warning screen to be output to the touch screen display of the electronic device 500 or the display of the external device.
[0099] Depending on the embodiment, the clipboard manager 535 may support copy and paste functions. For example, when the copy function is executed based on user input, the clipboard manager 535 may store the data selected by the user input in the form of clip data. For example, when the paste function is executed based on user input, the clipboard manager 535 may return and provide the most recently stored clip data. Depending on the embodiment, the clipboard manager 535 may provide a UI or UX for providing at least one stored clip data. For example, the clipboard manager 535 may allow the user to select specific clip data by outputting information about the stored clip data.
[0100] According to an embodiment, when data (eg, a file) is moved by user input (eg, drag and drop), the view manager 536 may provide file description or URI information.
[0101] According to an embodiment, when the configuration 560 is changed, the activity manager 537 may obtain the changed configuration 560 from the window manager 534. The activity manager 537 may allow the manager of the resource 550 to update the resource 550 based on the changed configuration 560. The activity manager 537 may allow the application or the activity included in the application to construct a screen based on the changed configuration 560.
[0102] According to an embodiment, the resource 550 may include a resource 550 of an activity included in the application. For example, the activity resource 550 may include information about an image or layout included in an execution screen of the activity being changed based on the configuration 560.
[0103] According to an embodiment, the configuration 560 may include a resolution (e.g., dpi or density) of a screen generated by the electronic device 500, an orientation (portrait or landscape) of the screen, size information (e.g., width or height) of the screen, an execution screen size of the application, etc. According to an embodiment, the electronic device 500 may correspond to each activity included in the application.
[0104] According to an embodiment, the device information 570 may include information about the physical size (eg, width and height) of the electronic device 500 (eg, a touch screen display or a display). For example, the device information 570 may include information about a logical width or a logical height.
[0105] According to an embodiment, in order to prevent a layout error or a touch error of a screen (window) displayed on a display of an external device, the electronic device 500 may adjust the configuration 560 or the device information 570 for an application operating in a compatible mode.
[0106] According to an embodiment, the communication module 540 (eg, Figure 1 Communication module 190 or Figure 4 The communication circuit 430 of the electronic device can communicate with the server. For example, the communication module 540 can receive a list of applications that support window resizing (e.g., a whitelist) from the server; or the communication module 540 can receive a list of applications that cannot be executed when the electronic device is connected to an external device (e.g., a blacklist).
[0107] According to an embodiment, an electronic device (e.g., Figure 1 electronic device 101, Figure 4 electronic device 400 or Figure 5 The electronic device 500 may include a touch screen display (e.g., Figure 1display device 160), an input / output interface connected to an external device (eg, Figure 1 interface 177), memory (e.g., Figure 1 Memory 130 or Figure 4 440) and a processor (e.g., Figure 1 Processor 120 or Figure 4 processor 450).
[0108] According to an embodiment, the processor may be configured to output a screen associated with the electronic device within a window displayed in a first area of a display of the external device when the electronic device is connected to an external device that uses an operating system different from that of the electronic device through an input / output interface, output a sub-window corresponding to at least one application stored in the electronic device within the window, determine a target application based on the input when input is applied to the sub-window from the external device, set data receiving path information based on characteristics of the target application to send the set data receiving path information to the external device, and receive data corresponding to the input from the external device based on the data receiving path information.
[0109] According to an embodiment, the processor may be configured to display a screen associated with the external device in a second area, which is not the first area, in the display of the external device.
[0110] According to an embodiment, the input to the sub-window may include a drag input from the second area to a point within the sub-window.
[0111] According to an embodiment, the processor may be configured to receive path information about clip data copied in the external device when an input is applied to the window from the external device.
[0112] According to an embodiment, the input to the window may include an input for selecting or focusing the window.
[0113] According to an embodiment, the processor may be configured to provide information associated with the copied clip data to a clipboard of the electronic device based on path information about the copied clip data.
[0114] According to an embodiment, the processor may be configured to change screen configuration information associated with at least a portion of the resolution, density, or orientation of a screen output by the electronic device when the electronic device is connected to an external device, organize sub-windows corresponding to at least one application based on the changed screen configuration information, and cause the external device to display the sub-windows in a first area.
[0115] According to an embodiment, the processor may be configured to transmit at least a portion of the data copied in the clipboard of the electronic device to the external device when input to the second area is applied from the external device, and set at least a portion of the copied data as clip data of the external device.
[0116] According to an embodiment, the processor may be configured to transmit, when a drag input from the first area to the second area is applied from the external device, path information of data corresponding to the drag input to the external device.
[0117] According to an embodiment, the processor may be configured to receive path information of data corresponding to an input applied to a sub-window from an external device, and determine whether the data corresponding to the input is applicable to a target application based on the path information of the data.
[0118] Figure 6A and 6B An electronic device 600 (eg, Figure 1 electronic device 101, Figure 4 The electronic device 400 and Figure 5 data sharing operation of the electronic device 500).
[0119] For example, Figure 6A shows data displayed on a screen associated with an external device 650 being dragged and dropped to a sub-window 655 associated with the electronic device 600; Figure 6B It is shown that the data displayed on the sub-window 655 is dragged and dropped on the screen associated with the external device 650 .
[0120] According to an embodiment, the electronic device 600 may be connected to an external device 650. For example, the electronic device 600 may be connected to the external device 650 by wire through an input / output interface (e.g., HDMI or USB), or may be wirelessly connected to the external device 650 through a communication interface. For example, the electronic device 600 may be connected to the external device 650 through a relay device (e.g., a docking station). According to an embodiment, the external device 650 may be a device using an operating system (e.g., a Windows operating system) different from the operating system (e.g., an Android operating system) of the electronic device 600.
[0121] According to an embodiment, when the electronic device 600 is connected to the external device 650, the electronic device 600 may output a window 653 associated with the electronic device 600 to a first area of the display 651 of the external device 650. For example, the electronic device 600 may reconfigure a screen displayed on the touchscreen display to fit the display 651 of the external device 650, and may display the reconfigured screen in the window 653 within the display 651 of the external device 650. For example, the window 653 output on the display 651 of the external device 650 may display a screen corresponding to the home screen of the electronic device 600. According to an embodiment, the electronic device 600 may allow a screen associated with the external device 650 to be displayed in a second area of the display 651 of the external device 650 that is not the first area. For example, the wallpaper or home screen of the external device 650 may be displayed in the second area of the display 651 of the external device 650. For example, when the external device 650 uses the Windows operating system, the execution screen of the Windows operating system may be displayed in the second area. According to an embodiment, when the electronic device 600 is connected to an external device 650 that uses an operating system different from that of the electronic device 600, a screen associated with the electronic device 600 based on the operating system of the electronic device 600 and a screen associated with the external device 650 based on the operating system of the external device 650 may be output together to the display 651 of the external device 650.
[0122] According to an embodiment, the electronic device 600 may output a sub-window 655 corresponding to at least one application stored in the electronic device 600 in the window 653. For example, the electronic device 600 may output the sub-window 655 corresponding to the application being executed by the electronic device 600. For example, the electronic device 600 may display an object 601 corresponding to data (e.g., a file) used in a specific application in the sub-window 655.
[0123] According to an embodiment, when an input is applied to the sub-window 655 from the external electronic device 650, the electronic device 600 may determine a target application based on the input. For example, the electronic device 600 may receive the input to the sub-window 655 through the external electronic device 650 or an input device (e.g., a mouse, a keyboard, etc.) connected to the external electronic device 650.
[0124] Reference Figure 6A , when a drag-and-drop input is applied to move an object 601 (e.g., a file) in the second area associated with the external device 650 into a sub-window 655, the electronic device 600 may identify an application corresponding to the sub-window 655 to which the corresponding input is applied. For example, the electronic device 600 may determine that the application corresponding to the sub-window 655 to which the input is applied is a target application.
[0125] According to an embodiment, the electronic device 600 may set data receiving path information based on the characteristics of the target application. For example, the electronic device 600 may identify the path used to store the target application in the electronic device 600. For example, the electronic device 600 may identify the path used to store data associated with the target application. For example, when the target application is an application that supports data copy (migration), the electronic device 600 may identify a storage path for the location (e.g., a folder) where the drop occurs. For example, when the target application is an application that supports data attachment, the electronic device 600 may identify a storage path for the location where the additional data is stored. For example, in the Android operating system, the electronic device 600 may identify a storage path for a hidden folder that stores additional data. For example, an application that supports data attachment may attach data stored in a hidden folder. According to an embodiment, the electronic device 600 may set data receiving path information based on the identified storage path and send the data receiving path information to the external device 650.
[0126] According to an embodiment, the electronic device 600 may receive data corresponding to the applied input from the external device 650 based on the data receiving path information. For example, the electronic device 600 may receive data corresponding to the object 601 moved by the drag and drop input from the external device 650 and may store the received data at a location according to the data receiving path information.
[0127] Reference Figure 6B , when a drag and drop input is applied to move the object 601 (e.g., a file) within the sub-window 655 to the second area associated with the external device 650, the electronic device 600 may determine that the application corresponding to the sub-window 655 to which the input is applied is the target application.
[0128] According to an embodiment, when a drag input passes through the boundary of a window 653 associated with the electronic device 600 and then passes to a second area associated with the external device 650, the electronic device 600 may stop (cancel) the drag input under the operating system of the electronic device 600 and may send coordinate information about the drag input or information about the dragged object 601 to the external device 650. For example, the external device 650 may perform the drag input in the second area based on the information received from the electronic device 600. According to an embodiment, when a continuous input occurs between the window 653 and the second area, the electronic device 600 and the external device 650 may send information about the input to seamlessly perform the continuous input even under different operating systems.
[0129] According to an embodiment, the electronic device 600 may transmit data or a data storage path corresponding to the object 601 moved by the drag and drop input to the external device 650 .
[0130] Below, we will refer to Figures 7 to 10Various embodiments of specific data sharing operations between the electronic device 600 and the external device 650 are described.
[0131] Figure 7 An electronic device (eg, Figure 1 electronic device 101, Figure 4 The electronic device 400 and Figure 5 Flowchart of data sharing operation of electronic device 500).
[0132] For example, Figure 6A As shown in Figure 7 An operation is shown in a case where data is moved from a screen associated with the external device to a screen (window) associated with the electronic device while the electronic device is connected to the external device.
[0133] According to an embodiment, the electronic device may be connected to an external device.
[0134] Reference Figure 7 According to an embodiment, the electronic device may include a DoP mobile manager 720 and at least one application (e.g., a target application 730); the external device may include a DoP PC manager 710. According to an embodiment, the operating system of the electronic device (e.g., an Android operating system) may be different from the operating system of the external device (e.g., a Windows operating system). According to an embodiment, when the electronic device is connected to the external device, the electronic device may display a screen associated with the electronic device in a window displayed in a first area of the external device's display and may output a sub-window corresponding to at least one application stored in the electronic device in the window. For example, when the electronic device is connected to the external device, the electronic device may output (display) a window in the first area of the external device's display, and the electronic device may output a screen associated with the electronic device in the window in the first area. According to an embodiment, when the electronic device is connected to the external device, the electronic device may request or control the external device to output a window to an area of the external device's display. For example, storage space (e.g., a folder) or data (e.g., a file) associated with an application may be displayed in a sub-window. According to an embodiment, a screen associated with the external device (e.g., a screen of the Windows operating system) may be output to a second area of the external device's display in addition to the first area. According to an embodiment, the screen displayed in the window or sub-window of the first area may be managed by the DoP mobile manager 720 of the electronic device; the screen output to the second area may be managed by the operating system of the external device (e.g., Windows operating system). For example, the DoP mobile manager 720 may operate by contacting the DoP PC manager 710 of the external device to organize or control the screen associated with the electronic device (e.g., UI or UX) output in the window of the first area.
[0135] According to an embodiment, in operation 701, the DoP PC manager 710 may recognize a drag input. For example, the DoP PC manager 710 may recognize an input of dragging an object (e.g., a file) in the second area of the display and dropping the object in a window or subwindow in the first area. For example, the application corresponding to the subwindow where the input was dropped may be determined to be the target application.
[0136] According to an embodiment, in operation 703, the DoP PC manager 710 may deliver information indicating that a drop of data (e.g., a file) has occurred in a window or a subwindow managed by the DoP mobile manager 720 to the DoP mobile manager 720. For example, the DoP PC manager 710 may deliver at least a portion of input event information, data information, and related ID information (e.g., a transmission ID (txid) or a drop ID (dropid)) to the DoP mobile manager 720.
[0137] According to an embodiment, in operation 705, the DoP mobile manager 720 may identify and store information necessary for data (file) transmission based on the received information. According to an embodiment, the DoP mobile manager 720 may generate a virtual view to process input events in the operating system of the electronic device. For example, as a virtual screen for processing input events, the virtual view may not actually be output on the touch screen display of the electronic device or the display of the external device. According to an embodiment, the virtual view may include a transparent window and / or a transparent layer, or may be output on the display in the form of an icon or image. For example, the DoP mobile manager 720 may use the virtual view to process input events for operations such as dragging, dropping, copying, and pasting.
[0138] According to an embodiment, the DoP movement manager 720 may simulate a virtual touch event using a virtual view. For example, after a user input (eg, a drag and drop input) is terminated, the DoP movement manager 720 may generate a virtual touch event to process the user input in the operating system of the electronic device.
[0139] According to an embodiment, the DoP migration manager 720 may determine a location (e.g., a folder) to which data (e.g., a file) is to be migrated (stored). According to an embodiment, when data with the same name exists at the location to which the data is to be migrated, the DoP migration manager 720 may change the name of the corresponding data.
[0140] According to an embodiment, the DoP mobility manager 720 may store the ID and data information associated with the data transmission. For example, the DoP mobility manager 720 may store the received data-related information and the ID associated with the data transmission in a storage space controlled by the DoP mobility manager 720 (e.g., Figure 1 Some areas of the memory 130 or Figure 4 in some areas of memory 440).
[0141] According to an embodiment, in operation 707, the DoP move manager 720 may call the target application 730 corresponding to the child window in which the drop occurred. For example, the DoP move manager 720 may call the onDrop function in the application. For example, the DoP move manager 720 may deliver information necessary for data transfer to the target application 730. For example, the DoP move manager 720 may deliver to the target application 730 a tag indicating that a drop input was applied to the window (or child window), an ID (Extra) generated when migrating data, or information about the data name and the path to the location where the data is to be stored (e.g., file URI information).
[0142] According to an embodiment, the target application 730 may identify attributes of the application in operation 709. For example, the attributes of the application may include information on whether the application is an application that supports data (eg, file) migration (transfer).
[0143] According to an embodiment, in operation 711, when the attributes of the application support data migration, the target application 730 may deliver information about the attributes of the application to the DoP mobility manager 720. According to an embodiment, when there is a location to migrate data, the target application 730 may also deliver information about the corresponding location to the DoP mobility manager 720. For example, the target application 730 may deliver information about the location where the data is stored to the DoP mobility manager 720.
[0144] According to an embodiment, in operation 713, the DoP mobility manager 720 may set the data reception path information. For example, the DoP mobility manager 720 may set the data reception path information to a default setting location. For example, the DoP mobility manager 720 may set the data reception path information based on information received from the target application 730. For example, the data reception path information may be information about the location (path) of the memory of the electronic device that stores data received from the external device.
[0145] According to an embodiment, in operation 715, the DoP mobility manager 720 may deliver an event (request) for starting data migration to the DoP PC manager 710. For example, the DoP mobility manager 720 may make a request for data transmission to the DoP PC manager 710. According to an embodiment, the DoP mobility manager 720 may deliver the set data reception path information to the DoP PC manager 710.
[0146] According to an embodiment, in operation 717, the DoP PC manager 710 may deliver data (e.g., a file) corresponding to the received input to the DoP mobile manager 720. For example, the DoP PC manager 710 may deliver an event indicating the start, completion, or failure of data transmission to the DoP mobile manager 720. For example, when transmitting multiple pieces of data, the DoP PC manager 710 may deliver the start, completion, or failure of transmission of each piece of data to the DoP mobile manager 720. For example, when the entire piece of data is completely transmitted, the DoP PC manager 710 may deliver an event to the DoP mobile manager 720 to provide a notification of completion.
[0147] According to an embodiment, in operation 719, the DoP mobile manager 720 may deliver data to the target application. According to an embodiment, when the transmission of all data corresponding to the input is completed, the DoP mobile manager 720 may deliver an event for providing a notification of completion to an application in the electronic device (e.g., the target application 730 and / or the file management application). According to an embodiment, the DoP mobile manager 720 may store data received from an external device (e.g., the DoP PC manager 710) in a set path (location).
[0148] According to various embodiments, operations 721, 723, and 725 describe operations in the case where data transmission is canceled during data transmission. For example, when data transmission is not canceled, operations 721, 723, and 725 may be omitted.
[0149] According to an embodiment, in operation 721, the DoP PC manager 710 may recognize a user input for canceling data transfer. For example, during a file transfer, the DoP PC manager 710 may output information about the data transfer status and a UI for canceling the data transfer on the display of the external device. For example, the DoP mobile manager 720 may display the data transfer progress and an option to cancel the file transfer in a pop-up format on the display of the external device.
[0150] According to an embodiment, in operation 723 , when the data transmission is canceled by the user input, the DoP PC manager 710 may deliver an event indicating this to the DoP mobile manager 720 .
[0151] According to an embodiment, in operation 725 , the DoP mobility manager 720 may deliver an event indicating that the data transmission has been canceled to an application (eg, the target application 730 ).
[0152] Figure 8 An electronic device (eg, Figure 1 electronic device 101, Figure 4 The electronic device 400 and Figure 5 Flowchart of data sharing operation of electronic device 500).
[0153] For example, Figure 6B As shown in Figure 8 An operation in a case where data is moved from a screen (window) associated with the electronic device to a screen associated with the external device while the electronic device is connected to the external device is shown.
[0154] According to an embodiment, when an electronic device is connected to an external device, the electronic device may display a window associated with the electronic device in a first area of a display of the external device and may output a sub-window corresponding to at least one application stored in the electronic device in the window. For example, a screen associated with the external device may be output in a second area of the display of the external device. For example, the operating system of the electronic device (e.g., an Android operating system) may be different from the operating system of the external device (e.g., a Windows operating system).
[0155] Reference Figure 8 According to an embodiment, in operation 801, an input (eg, a drag input) for selecting and moving data in a sub-window corresponding to an application may be applied through an external device. For example, the DoP PC manager 810 may recognize the input for selecting and moving data in the sub-window.
[0156] According to an embodiment, in operation 803, the target application 830 corresponding to the sub-window to which the input was applied may deliver an event indicating the start of data migration to the DoP move manager 820. According to an embodiment, when the input for migrating data does not leave the window range associated with the electronic device, the DoP move manager 820 may cause the input processing mechanism in the operating system of the electronic device to operate. For example, another program (e.g., a view manager) may process the applied input under the operating system of the electronic device.
[0157] According to an embodiment, in operation 805 , the DoP movement manager 820 may recognize that the applied input is out of a boundary of a window associated with the electronic device output to a display of the external device.
[0158] According to an embodiment, in operation 807 , the DoP movement manager 820 may stop an input processing mechanism in an operating system of the electronic device.
[0159] According to an embodiment, in operation 809, the DoP mobile manager 820 may deliver an event indicating that the applied input has crossed the boundary of the output window in which the applied input is output and then passed to the screen associated with the external device, so that the external device can continuously process the input. For example, the DoP mobile manager 820 may request the DoP PC manager 810 to process the applied input so that the input, which has been processed in the operating system of the electronic device, can be continuously processed in the operating system of the external device. For example, the DoP mobile manager 820 may deliver information associated with the input (e.g., coordinate information, or information associated with data corresponding to the input) to the DoP PC manager 810.
[0160] Figure 9 An electronic device (eg, Figure 1 electronic device 101, Figure 4 The electronic device 400 and Figure 5 Flowchart of data sharing operation of electronic device 500).
[0161] For example, Figure 9 An operation is shown in a case where data of an external device is copied and then the data is pasted to the electronic device.
[0162] According to an embodiment, when an electronic device is connected to an external device, the electronic device may display a window associated with the electronic device in a first area of a display of the external device and may output a sub-window corresponding to at least one application stored in the electronic device in the window. For example, a screen associated with the external device may be output in a second area of the display of the external device. For example, the operating system of the electronic device (e.g., an Android operating system) may be different from the operating system of the external device (e.g., a Windows operating system).
[0163] Reference Figure 9 According to an embodiment, in operation 901, an external device may copy data (e.g., a folder, file, text, or HTML) in an operating system of the external device according to user input. For example, the external device may store the copied data in a clipboard of the external device. For example, the DoP PC manager 910 may recognize that a user input of selecting and copying specific data displayed in the second area has been applied.
[0164] According to an embodiment, the DoP PC manager 910 may recognize that an input is applied to a window associated with the electronic device in operation 903. For example, the DoP PC manager 910 may detect an input that selects or focuses a window associated with the electronic device.
[0165] According to an embodiment, in operation 905 , the DoP PC manager 910 may deliver information about data recently stored in the clipboard of the external device (eg, a name, size, or storage location information of the stored data) to the DoP mobile manager 920 .
[0166] According to an embodiment, in operation 907, the DoP mobility manager 920 may prepare for data migration. According to an embodiment, the DoP mobility manager 920 may determine whether data with the same name exists at a location where the data is to be migrated (e.g., a location where the data is to be stored). According to an embodiment, if data with the same name exists at the location where the data is to be migrated, the DoP mobility manager 920 may change the name of the corresponding data.
[0167] According to an embodiment, the DoP movement manager 920 may generate an ID to be used when migrating data in operation 907. For example, the DoP movement manager 920 may generate an ID corresponding to an event of moving each data.
[0168] According to an embodiment, in operation 909, the DoP move manager 920 may deliver information about the data to be migrated to the clip mode manager. According to an embodiment, the clipboard manager 930 may add the corresponding data as clip data to the clipboard of the electronic device based on the information about the data. According to an embodiment, the clipboard manager 930 may set the clip data based on the information about the data before the migration (transmission) of the actual data is completed. For example, the clip data may include at least a portion of the information about the path (location) where the actual data is stored. According to an embodiment, the clipboard manager 930 may provide a UI (e.g., a folder icon) indicating that the corresponding data has been copied to the clipboard based on the information about the clip data before the transmission of the actual data is completed.
[0169] According to an embodiment, in operation 911 , the DoP mobile manager 920 may deliver an event indicating that the electronic device (eg, the clipboard manager 930 ) has added data to the clipboard of the electronic device as clip data to the DoP PC manager 910 .
[0170] According to an embodiment, in operation 913, the DoP PC manager 910 recognizes that data-related scrap data has been added by the electronic device and may deliver the data-related information to the DoP mobile manager 920. For example, the DoP PC manager 910 may deliver an ID associated with the data transmission, a data name, a data ID, and / or other data-related information to the DoP mobile manager 920.
[0171] According to an embodiment, in operation 915, the DoP mobile manager 920 may store the data-related information received from the DoP PC manager 910. For example, the DoP mobile manager 920 may store the received data-related information and an ID associated with the data transmission in a storage space controlled by the DoP mobile manager 920.
[0172] According to an embodiment, in operation 917, user input may be applied to a sub-window corresponding to a specific application displayed on the display of the external device. For example, a paste input for data copied from the clipboard may be applied to a specific sub-window. According to an embodiment, when the input is applied, an event regarding the paste input may be delivered to the target application 940 corresponding to the sub-window to which the input was applied via the DoP PC manager 910 and the DoP mobile manager 920. According to an embodiment, when the event is delivered, the target application 940 may read the clipped data stored in the clipboard of the electronic device.
[0173] According to an embodiment, the DoP move manager 920 may call the target application 940 corresponding to the sub-window in which the input (e.g., paste) occurred. For example, the DoP move manager 920 may deliver information necessary for data transfer to the target application 940. For example, the DoP move manager 920 may deliver to the target application 940 a tag indicating that the paste input was applied to the window (or sub-window), an ID (Extra) generated when migrating data, or information about the data name and the path to the location where the data is to be stored (e.g., file URI information).
[0174] According to an embodiment, in operation 919, the target application 940 may identify the properties of the application. For example, the properties of the application may include information about whether the application supports the transfer of data (e.g., files, text, or HTML). According to an embodiment, when the properties of the application support data migration, the target application 940 may transmit the information about the properties of the application to the DoP mobility manager 920. According to an embodiment, when there is a location to migrate data, the target application 940 may also deliver information about the corresponding location to the DoP mobility manager 920. For example, the target application 940 may deliver information about the location where the data is stored to the DoP mobility manager 920.
[0175] According to an embodiment, in operation 921, the DoP mobility manager 920 may set data reception path information. For example, the DoP mobility manager 920 may set the data reception path information to a default setting location. For example, the DoP mobility manager 920 may set the data reception path information based on information received from the target application 940. For example, the data reception path information may be information about the location (path) of the memory of the electronic device that stores data received from the external device.
[0176] According to an embodiment, the DoP mobility manager 920 may read data-related information in operation 923. For example, the DoP mobility manager 920 may read an ID associated with data transmission and data-related information stored in a storage space controlled by the DoP mobility manager 920.
[0177] According to an embodiment, in operation 925, the DoP mobility manager 920 may deliver an event for starting data migration to the DoP PC manager 910. For example, the DoP mobility manager 920 may make a request for data transmission to the DoP PC manager 910. According to an embodiment, the DoP mobility manager 920 may deliver the set data reception path information to the DoP PC manager 910.
[0178] According to an embodiment, in operation 927, the DoP PC manager 910 may deliver data corresponding to the received input (e.g., a folder, a file, text, or HTML) to the DoP mobile manager 920. For example, the DoP PC manager 910 may deliver an event indicating the start, completion, or failure of data transmission to the DoP mobile manager 920. For example, when transmitting multiple pieces of data, the DoP PC manager 910 may deliver the start, completion, or failure of transmission of each piece of data to the DoP mobile manager 920. For example, when the entire piece of data is completely transmitted, the DoP PC manager 910 may deliver an event for providing a notification of completion to the DoP mobile manager 920.
[0179] According to an embodiment, when the transmission of all data corresponding to the input is completed, the DoP mobile manager 920 may deliver an event for providing a notification of completion to an application (e.g., the target application 940 and / or the file management application) in the electronic device in operation 929. According to an embodiment, the DoP mobile manager 920 may store data received from an external device (e.g., the DoP PC manager 910) in a set path (location).
[0180] According to various embodiments, operations 931, 933, and 935 describe operations in the case where data transmission is canceled during data transmission. For example, when data transmission is not canceled, operations 931, 933, and 935 may be omitted.
[0181] According to an embodiment, the DoP PC manager 910 may recognize a user input for canceling data transmission in operation 931. For example, during file transmission, the DoP PC manager 910 may output information about the data transmission status and a UI for canceling data transmission on a display of an external device.
[0182] According to an embodiment, in operation 933 , when data transmission is canceled by a user input, the DoP PC manager 910 may deliver an event indicating this to the DoP mobile manager 920 .
[0183] According to an embodiment, in operation 935 , the DoP mobility manager 920 may deliver an event indicating that the data transmission has been canceled to an application (eg, the target application 940 ).
[0184] Figure 10 An electronic device (eg, Figure 1 electronic device 101, Figure 4 The electronic device 400 and Figure 5 Flowchart of data sharing operation of electronic device 500).
[0185] For example, Figure 10 An operation is shown in a case where data of an electronic device is copied and then the data is pasted to an external device.
[0186] According to an embodiment, when an electronic device is connected to an external device, the electronic device may display a window associated with the electronic device in a first area of a display of the external device and may output a sub-window corresponding to at least one application stored in the electronic device in the window. For example, a screen associated with the external device may be output in a second area of the display of the external device. For example, the operating system of the electronic device (e.g., an Android operating system) may be different from the operating system of the external device (e.g., a Windows operating system).
[0187] Reference Figure 10 According to an embodiment, a user input for copying data (e.g., a file, text, or HTML) displayed in a sub-window may be applied through an external device in operation 1001. For example, a target application 1040 corresponding to the sub-window to which the input is applied may identify information about the data corresponding to the user input.
[0188] According to an embodiment, in operation 1003, the target application 1040 may provide information about data corresponding to the user input to the clipboard manager 1030. According to an embodiment, the clipboard manager 1030 may store the data in the clipboard as clip data.
[0189] According to an embodiment, in operation 1005 , the clipboard manager 1030 may deliver an event indicating that the clipboard has been updated to the DoP movement manager 1020 .
[0190] According to an embodiment, the DoP mobile manager 1020 may change information about the scraped data (e.g., storage path (location) information of the scraped data) into a format recognized by the external device in operation 1007. For example, when the electronic device uses the Android operating system and the external device uses the Windows operating system, the DoP mobile manager 1020 may change the Android data format into the Windows Media Transfer Protocol (MTP) format.
[0191] According to an embodiment, in operation 1009, an input may be applied to the second area by an external device. According to an embodiment, when an input is applied to the second area of the screen displaying the external device, the DoP mobile manager 1020 may deliver clip data and information about the clip data (e.g., path information of the data, the format of which is changed) to the DoP PC manager 1010. According to an embodiment, the DoP PC manager 1010 may add the received clip data to the clipboard of the external device.
[0192] According to an embodiment, in operation 1011, when it is recognized that a paste input is applied in the second area, the DoP PC manager 1010 may store the clip data added to the clipboard of the external device in a set path based on information about received data.
[0193] According to various embodiments, Figures 7 to 10 In one embodiment, the DoP mobile manager 1020 of the electronic device and the DoP PC manager 1010 of the external device operate in conjunction with each other to perform a data sharing operation. Figures 7 to 10 The data sharing operation may be performed by a processor of the electronic device and a processor of the external device.
[0194] Figure 11 Schematic diagram illustrating clip data copied in a clipboard of an electronic device according to an embodiment of the present disclosure.
[0195] According to an embodiment, an electronic device (e.g., Figure 1 The electronic device 101, Figure 4 The electronic device 400 and Figure 5 The electronic device 500 in the embodiment may receive information about data stored in the clipboard of the external device (e.g., path (location) information of the data) from a connected external device. For example, the information about the data may be a file URI used by the external device. According to an embodiment, the electronic device may add the corresponding data as clipped data to the clipboard of the electronic device based on the information about the data received from the external device. For example, one or more clipped data may be added to the clipboard of the electronic device.
[0196] According to an embodiment, the electronic device may display clip data copied to the clipboard of the electronic device. For example, the electronic device may display data (eg, file, image, text, or HTML) copied to the clipboard of the electronic device.
[0197] For example, when information about data received from an external device is displayed as scrap data, the user may not receive intuitive information through path information (eg, file URI) of the data.
[0198] Reference Figure 11 According to an embodiment, when the electronic device displays the copied data in the clipboard 1110 of the electronic device, the clipped data copied from the clipboard of the external device and added to the clipboard 1110 of the electronic device may be displayed as an intuitive UI (e.g., a folder icon) 1111 or 1115. According to an embodiment, when the electronic device displays the data copied in the clipboard 1110, in the case of data 1113 (e.g., an image, text, or a file name) copied in the electronic device and then stored as the clipped data, the electronic device may display the data copied in the clipboard 1110 (e.g., a captured image) as it is. For example, Figure 11 The stored data 1113 shown in indicates an image obtained by capturing a screen displayed on the touch screen display of the electronic device depending on a user input. However, according to various embodiments, the copied data displayed on the clipboard 1110 is not limited thereto.
[0199] According to an embodiment, when the copied scraped data is displayed on the clipboard 1110 of the electronic device, the electronic device can allow the user to easily and intuitively identify the scraped data by displaying a UI indicating the presence of the copied scraped data rather than specific information associated with the data (e.g., file URI). For example, UI 1111 or 1115 indicates the presence of the copied scraped data and may include text indicating the number or type of the relevant scraped data. For example, UI 1111 may include text indicating the presence of four pieces of copied scraped data (e.g., files (file URIs)); and UI 1115 may include text indicating the presence of one piece of copied scraped data.
[0200] Figure 12 An electronic device (eg, Figure 1 electronic device 101, Figure 4 The electronic device 400 and Figure 5 Flowchart of a data sharing method of an electronic device 500).
[0201] Reference Figure 12 , Figure 12 The operation of the data sharing method can be performed by an electronic device (e.g., Figure 1 electronic device 101, Figure 4 electronic device 400 or Figure 5 The processor of the electronic device 500 (eg, Figure 1 Processor 120 or Figure 4 450) for execution.
[0202] According to an embodiment, in operation 1210, when the electronic device is connected to an external device, the electronic device may output a window associated with the electronic device in a first area of a display of the external device. According to an embodiment, the external device 650 may use an operating system (e.g., a Windows operating system) different from the operating system (e.g., an Android operating system) of the electronic device. According to an embodiment, the electronic device may reconstruct a screen displayed on the touch screen display of the electronic device, and may output the reconstructed screen to a window in the first area. For example, when the electronic device is connected to the external device, the electronic device may change screen configuration information associated with at least a portion of the resolution, density, or orientation of the screen output by the touch screen display of the electronic device. For example, the electronic device may organize windows based on the changed screen configuration information, and may output the organized windows to the first area.
[0203] According to an embodiment, the electronic device may display a screen associated with the external device in a second area of the display of the external device that is not the first area. For example, a screen organized by the operating system of the electronic device may be output in the first area (window) of the display of the external device; a screen organized by the operating system of the external device may be output in the second area.
[0204] According to an embodiment, in operation 1220, the electronic device may output a sub-window corresponding to at least one application stored in the electronic device in the output window. For example, the electronic device may output a sub-window corresponding to at least one corresponding application being executed in the electronic device in the window of the first area. According to an embodiment, when the electronic device is connected to an external device, the electronic device may organize windows corresponding to the applications based on the changed screen configuration information and may output the organized sub-windows in the first area. For example, data associated with the corresponding application (e.g., a file, text, image, or HTML) may be displayed in the sub-window.
[0205] According to an embodiment, in operation 1230, when an input is applied to the sub-window from an external device, the electronic device may determine a target application based on the input. For example, the input to the sub-window may include a drag input from the second area to a point in the sub-window. For example, when a drag input is applied to move specific data (e.g., a file) displayed in the second area from the external device to the sub-window, the electronic device may determine that the application corresponding to the sub-window is the target application.
[0206] According to an embodiment, when an input is applied to a window from an external device, the electronic device may determine whether there is clipping data copied from the external device. For example, when an input for selecting or focusing a window of a first area is applied from an external device, the electronic device may determine whether there is clipping data copied in a clipboard of the external device. According to an embodiment, when an input for selecting or focusing a window of a first area is applied from an external device, the electronic device may receive path information about the clipping data copied from the external device. According to an embodiment, the electronic device may provide information associated with the copied clipping data to the clipboard of the electronic device based on the path information about the copied clipping data.
[0207] According to an embodiment, in the case where copied data exists in the clipboard of the electronic device, when an input to the second area is applied from an external device, the electronic device may send at least a portion of the data copied in the clipboard of the electronic device to the external device. For example, in the case where copied data exists in the clipboard of the electronic device, when an input for selecting or focusing the second area is applied from an external device, the electronic device may send at least a portion of the data copied in the clipboard of the electronic device (for example, the most recently copied data) to the external device. For example, the electronic device may allow the external device to set the sent data as the clipped data of the external device.
[0208] According to an embodiment, after input is applied to a window from an external device, input may be additionally applied to a sub-window. For example, after input is applied from an external device to focus a window, input may be applied to paste clip data stored in a clipboard of the external device into a specific sub-window.
[0209] According to an embodiment, in operation 1240, the electronic device may set data receiving path information based on the characteristics of the target application. For example, the electronic device may identify the characteristics of the target application. For example, the characteristics of the application may include information about whether the application supports data migration or whether the application supports data attachment.
[0210] Depending on the embodiment, the electronic device may set data receiving path information based on the properties of the application. For example, if the target application supports data attachment, the electronic device may identify a storage path for storing the attached data. For example, an application supporting data attachment may attach data stored in a hidden folder. Depending on the embodiment, the electronic device may set the data receiving path information based on the identified storage path and transmit the data receiving path information to the external device.
[0211] According to an embodiment, the electronic device may receive path information of data corresponding to input to the sub-window from an external device, and may determine whether the data corresponding to the input can be applied to the target application based on the path information of the received data. For example, the electronic device may determine whether the corresponding data can be applied to the target application based on information associated with the data received from the external device. According to an embodiment, when the data corresponding to the input cannot be supported or applied in the target application, the electronic device may provide a notification thereof through the display of the external device.
[0212] According to an embodiment, when a drag input from a first area to a second area is applied from an external device, the electronic device may transmit path information of data corresponding to the drag input to the external device.
[0213] According to an embodiment, the electronic device may receive data corresponding to an input from an external device based on the data reception path information in operation 1250. According to an embodiment, the electronic device may store the received data in the set data reception path.
[0214] According to an embodiment, a data sharing method for an electronic device may include outputting a screen associated with the electronic device in a window displayed in a first area of a display of the external device when the electronic device is connected to an external device that uses an operating system different from that of the electronic device through an input / output interface, outputting a sub-window corresponding to at least one application stored in the electronic device within the window, determining a target application based on the input when input is applied to the sub-window from the external device, setting data receiving path information based on characteristics of the target application to send the set data receiving path information to the external device, and receiving data corresponding to the input from the external device based on the data receiving path information.
[0215] According to an embodiment, a screen associated with the external device may be displayed in a second area, which is not the first area, in the display of the external device.
[0216] According to an embodiment, the input to the sub-window may include a drag input from the second area to a point within the sub-window.
[0217] According to an embodiment, the method may further include receiving path information about clip data copied in the external device when an input to the window is applied from the external device.
[0218] According to an embodiment, the input to the window may include an input for selecting or focusing the window.
[0219] According to an embodiment, the method may further include providing information associated with the copied clip data to a clipboard of the electronic device based on path information about the copied clip data.
[0220] According to an embodiment, the method may also include changing screen configuration information associated with at least a portion of the resolution, density or orientation of a screen output by the electronic device when the electronic device is connected to an external device, organizing sub-windows corresponding to at least one application based on the changed screen configuration information, and causing the external device to display the sub-windows in the first area.
[0221] According to an embodiment, the method may further include transmitting at least a portion of the data copied in the clipboard of the electronic device to the external device when input to the second area is applied from the external device, and setting at least a portion of the copied data as clip data of the external device.
[0222] According to an embodiment, the method may further include transmitting path information of data corresponding to the drag input to the external device when the drag input from the first area to the second area is applied from the external device.
[0223] According to an embodiment, the method may further include receiving path information of data corresponding to the input from the external device when input is applied to the sub-window from the external device, and determining whether the data corresponding to the input is applicable to the target application based on the path information of the data.
[0224] The electronic device according to various embodiments may be one of various types of electronic devices. The electronic device may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a household appliance. According to an embodiment of the present disclosure, the electronic device is not limited to those described above.
[0225] It should be understood that the various embodiments of the present disclosure and the terms used therein are not intended to limit the technical features set forth herein to specific embodiments, but rather include various changes, equivalents or alternative forms for corresponding embodiments. For the description of the accompanying drawings, similar reference numerals may be used to refer to similar or related elements. It will be understood that the nouns in the singular form corresponding to the term may include one or more things, unless the relevant context clearly indicates otherwise. As used herein, each of the phrases such as "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C" and "at least one of A, B or C" may include any one or all possible combinations of the items listed together with the corresponding phrase in the multiple phrases. As used herein, terms such as "1st" and "2nd" or "first" and "second" may be used to simply distinguish corresponding components from another component, and do not limit the components in other aspects (e.g., importance or order). It will be understood that if an element (e.g., a first element) is referred to as being “combined with another element (e.g., a second element)”, “combined to another element (e.g., a second element)”, “connected with another element (e.g., a second element)”, or “connected to another element (e.g., a second element)”, when the term “operably” or “communicatively” is used or when the term “operably” or “communicatively” is not used, it means that the element can be directly (e.g., wired) connected to the other element, wirelessly connected to the other element, or connected to the other element via a third element.
[0226] As used herein, the term "module" may include units implemented in hardware, software, or firmware, and may be used interchangeably with other terms (e.g., "logic," "logic block," "portion," or "circuit"). A module may be a single integrated component adapted to perform one or more functions or the smallest unit or portion of the single integrated component. For example, depending on an embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0227] The various embodiments described herein can be implemented as software (e.g., program 140) comprising one or more instructions stored in a storage medium (e.g., internal memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). For example, under the control of a processor, a processor (e.g., processor 120) of the machine (e.g., electronic device 101) can call at least one of the one or more instructions stored in the storage medium and execute the at least one instruction with or without the use of one or more other components. This enables the machine to operate to perform at least one function according to the called at least one instruction. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. The machine-readable storage medium can be provided in the form of a non-transitory storage medium. The term "non-transitory storage medium" is a tangible device and does not include signals (e.g., electromagnetic waves), but the term does not distinguish between data being semi-permanently stored in the storage medium and data being temporarily stored in the storage medium. For example, a "non-transitory storage medium" may include a buffer that temporarily stores data.
[0228] According to an embodiment, the method according to various embodiments of the present disclosure may be included and provided in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be released in the form of a machine-readable storage medium (e.g., a compact disc read-only memory (CD-ROM)), or may be downloaded via an application store (e.g., Play Store). TM ) The computer program product may be published (e.g., downloaded or uploaded) online, or may be distributed (e.g., downloaded or uploaded) directly between two user devices (e.g., smartphones). If published online, at least a portion of the computer program product (e.g., a downloadable application) may be temporarily generated, or at least a portion of the computer program product may be at least temporarily stored in a machine-readable storage medium (e.g., a memory of a manufacturer's server, an application store's server, or a forwarding server).
[0229] According to various embodiments, each component (for example, module or program) in the above-mentioned components may include a single entity or multiple entities. According to various embodiments, one or more components in the above-mentioned components may be omitted, or one or more other components may be added. Alternatively or additionally, multiple components (for example, module or program) may be integrated into a single component. In this case, according to various embodiments, the integrated component may still perform the one or more functions of each component in the multiple components in the same or similar manner as a corresponding component in the multiple components before integration. According to various embodiments, the operations performed by module, program or another component may be performed sequentially, in parallel, repeatedly or in a heuristic manner, or one or more operations in the operations may be run or omitted in different orders, or one or more other operations may be added.
[0230] According to the embodiments disclosed in this specification, data can be shared between different types of devices.
[0231] According to the embodiments disclosed in this specification, user convenience can be improved when transferring data between different types of devices.
[0232] According to the embodiments disclosed in this specification, by providing a screen associated with an electronic device together with a screen associated with an external device connected to the electronic device, user convenience and efficiency in transferring data between the electronic device and the external device may be improved.
[0233] Furthermore, various effects directly or indirectly understood through the present disclosure can be provided.
[0234] While the present disclosure has been shown and described with reference to various embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure as defined by the appended claims and their equivalents.
Claims
1. An electronic device comprising: touch screen display; Input / output interface for connection with external devices; Memory; as well as at least one processor electrically connected to the touch screen display, the input / output interface, and the memory, wherein the at least one processor is configured to: outputting a screen associated with the electronic device within a window displayed in a first area of a display of the external device based on the electronic device being connected to the external device using an operating system different from that of the electronic device through the input / output interface; outputting, within the window, a sub-window corresponding to at least one application stored in the electronic device; based on an input being applied to the sub-window from the external device, determining a target application based on the input; setting data receiving path information based on the characteristics of the target application to transmit the set data receiving path information to the external device; and Data corresponding to the input is received from the external device based on the data reception path information.
2. The electronic device of claim 1 , wherein the at least one processor is further configured to: A screen associated with the external device is displayed in a second area of a display of the external device that is not the first area. 3 . The electronic device of claim 2 , wherein the input to the sub-window comprises a drag input from the second area to a point within the sub-window.
4. The electronic device of claim 1 , wherein the at least one processor is further configured to: Based on an input being applied to the window from the external device, path information on the clip data copied in the external device is received. The electronic device of claim 4 , wherein the input to the window comprises an input for selecting or focusing the window.
6. The electronic device of claim 4, wherein the at least one processor is further configured to: Information associated with the copied clip data is provided to a clipboard of the electronic device based on path information about the copied clip data.
7. The electronic device of claim 1 , wherein the at least one processor is further configured to: changing screen configuration information associated with at least a portion of a resolution, density, or orientation of a screen output by the electronic device based on the electronic device being connected to the external device; organizing sub-windows corresponding to the at least one application based on the changed screen configuration information; and The external device is enabled to display the sub-window in the first area.
8. The electronic device of claim 2, wherein the at least one processor is further configured to: transmitting at least a portion of the data copied in the clipboard of the electronic device to the external device based on an input being applied to the second area from the external device; and At least a portion of the copied data is set as scrap data of the external device.
9. The electronic device of claim 2, wherein the at least one processor is further configured to: Based on a drag input from the first area to the second area being applied from the external device, path information of data corresponding to the drag input is transmitted to the external device.
10. The electronic device of claim 1 , wherein the at least one processor is further configured to: receiving, based on an input being applied to the sub-window from the external device, path information of data corresponding to the input from the external device; and It is determined whether the data corresponding to the input is applicable to the target application based on the path information of the data.
11. A method for sharing data in an electronic device, the method comprising: outputting a screen associated with the electronic device in a window displayed in a first area of a display of the external device based on the electronic device being connected to an external device using an operating system different from that of the electronic device through an input / output interface; outputting, within the window, a sub-window corresponding to at least one application stored in the electronic device; based on an input being applied to the sub-window from the external device, determining a target application based on the input; setting data receiving path information based on the characteristics of the target application to transmit the set data receiving path information to the external device; and Data corresponding to the input is received from the external device based on the data reception path information. 12 . The method of claim 11 , wherein a screen associated with the external device is displayed in a second area of a display of the external device that is not the first area.
13. The method of claim 11, further comprising: Based on an input being applied to the window from the external device, path information on the clip data copied in the external device is received.
14. The method of claim 12, further comprising: transmitting at least a portion of the data copied in the clipboard of the electronic device to the external device based on an input being applied to the second area from the external device; and At least a portion of the copied data is set as scrap data of the external device.
15. The method of claim 12, further comprising: Based on a drag input from the first area to the second area being applied from the external device, path information of data corresponding to the drag input is transmitted to the external device.
Citation Information
Patent Citations
Method and device for managing glass ribbon cooling
KR1020190095415A
Screen sharing mathod for plural devices based on various operating systems, device and system
KR1020170056858A
Electronic device and method of application data display therefor
US20170235435A1