ELECTRONIC DEVICE AND METHOD FOR PROVIDING INFORMATION ON ELECTRONIC DEVICE

Disclosed is an electronic device. An electronic device according to an embodiment may comprise: a display; a memory; and a processor electrically connected to the display and the memory. According to an embodiment, the memory may store instructions that, when executed, cause the processor to: retrieve information related to the hardware configuration of the electronic device from a database based on identification information or status information of the electronic device; and provide the information related to the hardware configuration to at least one application stored in the memory. According to an embodiment, the information related to the hardware configuration may include coordinate information set based on a display characteristic of the electronic device.

BACKGROUND

Field

The disclosure relates to a technology for providing information related to a hardware component of an electronic device.

Description of Related Art

Recently, electronic devices having various functions or components have been widely distributed, and it is common that the electronic device includes a plurality of hardware components to perform the various functions. For example, the electronic device may include an antenna, a microphone, a camera, and various sensors. In particular, as various electronic devices are developed and distributed, hardware components included in the electronic devices and arrangement of the hardware components are also variously changed. For example, even the same hardware component may be disposed at a different position inside the electronic device depending on a type of electronic device.

SUMMARY

Embodiments of the disclosure provide an electronic device and a method for providing information of the electronic device that may provide information related to a hardware component included in the electronic device, and provide an interface configured based on the information related to the hardware component included in the electronic device.

An electronic device according to an example embodiment disclosed in the disclosure includes: a display, a memory, and a processor electrically connected to the display and the memory. According to an embodiment, the memory stores instructions that, when executed, cause the processor to: search for information related to a hardware component of the electronic device from a database based on identification information or state information of the electronic device; and provide the information related to the hardware component to at least one application stored in the memory. According to an embodiment, the information related to the hardware component may include coordinate information set based on characteristics of the display of the electronic device.

In addition, a method for providing information of an electronic device according to an example embodiment disclosed in the disclosure includes: searching for information related to a hardware component of the electronic device from a database based on identification information of the electronic device or state information of the electronic device; and providing the information related to the hardware component to at least one application stored in a memory of the electronic device. According to an embodiment, the information related to the hardware component may include coordinate information set based on characteristics of a display of the electronic device.

According to various example embodiments of the disclosure, the information related to the hardware component included in the electronic device may be provided through the display of the electronic device.

According to various example embodiments of the disclosure, a hardware component and a user manipulation method required to perform a function of the electronic device may be provided.

According to various example embodiments of the disclosure, various interfaces (e.g., a content, feedback, and information) configured based on the information related to the hardware component included in the electronic device may be provided.

According to various example embodiments of the disclosure, an application programming interface (API) capable of providing the information related to the hardware component included in each device in different electronic devices may be provided.

In addition, various effects that are directly or indirectly identified through the disclosure may be provided.

In connection with description of the drawings, the same or similar reference numerals may be used for the same or similar components.

DETAILED DESCRIPTION

FIG. 2is a block diagram200illustrating an example configuration of the program140according to various embodiments. According to an embodiment, the program140may include an operating system (OS)142to control one or more resources of the electronic device101, middleware144, or an application146executable in the OS142. The OS142may include, for example, Android™, iOS™, Windows™, Symbian™, Tizen™, or Bada™. At least part of the program140, for example, may be pre-loaded on the electronic device101during manufacture, or may be downloaded from or updated by an external electronic device (e.g., the electronic device102or104, or the server108) during use by a user.

The OS142may control management (e.g., allocating or deallocation) of one or more system resources (e.g., process, memory, or power source) of the electronic device101. The OS142, additionally or alternatively, may include one or more driver programs to drive other hardware devices of the electronic device101, for example, the input device150, the sound output device155, the display device160, the audio module170, the sensor module176, the interface177, the haptic module179, the camera module180, the power management module188, the battery189, the communication module190, the subscriber identification module196, or the antenna module197.

The middleware144may provide various functions to the application146such that a function or information provided from one or more resources of the electronic device101may be used by the application146. The middleware144may include, for example, an application manager201, a window manager203, a multimedia manager205, a resource manager207, a power manager209, a database manager211, a package manager213, a connectivity manager215, a notification manager217, a location manager219, a graphic manager221, a security manager223, a telephony manager225, or a voice recognition manager227.

The application manager201, for example, may manage the life cycle of the application146. The window manager203, for example, may manage one or more graphical user interface (GUI) resources that are used on a screen. The multimedia manager205, for example, may identify one or more formats to be used to play media files, and may encode or decode a corresponding one of the media files using a codec appropriate for a corresponding format selected from the one or more formats. The resource manager207, for example, may manage the source code of the application146or a memory space of the memory130.The power manager209, for example, may manage the capacity, temperature, or power of the battery189, and determine or provide related information to be used for the operation of the electronic device101based at least in part on corresponding information of the capacity, temperature, or power of the battery189. According to an embodiment, the power manager209may interwork with a basic input/output system (BIOS) (not shown) of the electronic device101.

The database manager211, for example, may generate, search, or change a database to be used by the application146. The package manager213, for example, may manage installation or update of an application that is distributed in the form of a package file. The connectivity manager215, for example, may manage a wireless connection or a direct connection between the electronic device101and the external electronic device. The notification manager217, for example, may provide a function to notify a user of an occurrence of a specified event (e.g., an incoming call, message, or alert). The location manager219, for example, may manage locational information on the electronic device101. The graphic manager221, for example, may manage one or more graphic effects to be offered to a user or a user interface related to the one or more graphic effects.

The security manager223, for example, may provide system security or user authentication. The telephony manager225, for example, may manage a voice call function or a video call function provided by the electronic device101. The voice recognition manager227, for example, may transmit a user's voice data to the server108, and receive, from the server108, a command corresponding to a function to be executed on the electronic device101based at least in part on the voice data, or text data converted based at least in part on the voice data. According to an embodiment, the middleware244may dynamically delete some existing components or add new components. According to an embodiment, at least part of the middleware144may be included as part of the OS142or may be implemented as another software separate from the OS142.

The application146may include, for example, a home251, dialer253, short message service (SMS)/multimedia messaging service (MMS)255, instant message (IM)257, browser259, camera261, alarm263, contact265, voice recognition267, email269, calendar271, media player273, album275, watch277, health279(e.g., for measuring the degree of workout or biometric information, such as blood sugar), or environmental information281(e.g., for measuring air pressure, humidity, or temperature information) application. According to an embodiment, the application146may further include an information exchanging application (not shown) that is capable of supporting information exchange between the electronic device101and the external electronic device. The information exchange application, for example, may include a notification relay application adapted to transfer designated information (e.g., a call, message, or alert) to the external electronic device or a device management application adapted to manage the external electronic device. The notification relay application may transfer notification information corresponding to an occurrence of a specified event (e.g., receipt of an email) at another application (e.g., the email application269) of the electronic device101to the external electronic device. Additionally or alternatively, the notification relay application may receive notification information from the external electronic device and provide the notification information to a user of the electronic device101.

The device management application may control the power (e.g., turn-on or turn-off) or the function (e.g., adjustment of brightness, resolution, or focus) of the external electronic device or some component thereof (e.g., a display device or a camera module of the external electronic device). The device management application, additionally or alternatively, may support installation, delete, or update of an application running on the external electronic device.

FIG. 3is a block diagram illustrating an example configuration of an electronic device (e.g., the electronic device101inFIG. 1) according to various embodiments.

According to an embodiment, a display310(e.g., the display device160inFIG. 1) may output various information (e.g., information related to a hardware component of an electronic device300, a content, a manipulation method, or an interface) provided by the electronic device300.

According to an embodiment, a communication circuit320(e.g., the communication module190inFIG. 1) may support establishment of a communication channel between the electronic device300and an external device (e.g., the external electronic device300, a server, or a database) and performance of wired or wireless communication through the established communication channel. For example, the communication circuit320may receive information from the external database of the electronic device300or store information generated or stored in the electronic device300in the external database. For example, the communication circuit320may transmit/receive information (e.g., physical coordinate information or software coordinate information) related to the hardware component to/from the external database.

According to an embodiment, a sensor module330(e.g., the sensor module176inFIG. 1) may include various sensors measure or sense an internal state or an external state of the electronic device300. For example, the sensor module330may include at least one of a light sensor, a gravity sensor, an acceleration sensor, a proximity sensor, an NFC sensor, and a camera sensor (e.g., the camera module180inFIG. 1). According to various embodiments, the sensor included in the sensor module330may not be limited to the above examples and various types of sensors may be further included.

According to an embodiment, a memory340(e.g., the memory130inFIG. 1) may store the information generated by the electronic device300or the information received from the external device. According to an embodiment, the memory340may store a command or data related to a software component (e.g., a program (e.g., the program140inFIGS. 1 and 2)) of the electronic device300. According to an embodiment, the program may store an application, an application framework, and an application programming interface (API) called by the application. According to an embodiment, the memory340may store the information related to the hardware component of the electronic device300. According to an embodiment, the memory340may include a database for storing the information (e.g., the physical coordinate information or the software coordinate information) related to the hardware component. According to an embodiment, the information related to the hardware component may include coordinate information set based on characteristics of the display310(e.g., a size, a position, or a resolution of the display310) of the electronic device300. For example, the physical coordinate information may include three-dimensional coordinate information, and the software coordinate information may include two-dimensional coordinate information converted based on the resolution and the position of the display310. For example, the software coordinate information may include coordinate values of pixels of the display310.

According to an embodiment, a processor350(e.g., the processor120inFIG. 1) may include various processing circuitry and search for the information related to the hardware component of the electronic device300from the database based on identification information or state information of the electronic device300. According to an embodiment, when the information related to the hardware component is requested from an application stored in the memory340, the processor350may search for the requested information related to the hardware component. For example, the identification information of the electronic device300may include information indicating a type of the electronic device300(e.g., an ID of the electronic device300). For example, the state information of the electronic device300may include information indicating a folded state of the electronic device300. For example, when the display310of the electronic device300is a foldable display (or a flexible display) that may be folded, the state information of the electronic device300may include the information indicating the folded state of the electronic device300. According to various embodiments, the database may be included outside of the electronic device300(e.g., in the external device or the external server), and may be included inside of the electronic device300(e.g., in the memory340of the electronic device300).

According to an embodiment, the processor350may search for information of the hardware component and a lower hierarchical hardware component requested based on hardware hierarchical information. For example, the hardware hierarchical information may be information that hierarchically classifies various hardware components that may be included in the electronic device300. According to an embodiment, the processor350may provide at least one found information of the hardware component as the information related to the hardware component. According to an embodiment, the information related to the hardware component may include the software coordinate information of the hardware component.

According to an embodiment, the processor350may obtain the physical coordinate information of the hardware component from the database, and convert the physical coordinate information into the software coordinate information. For example, the processor350may process an API for converting physical coordinate information below into software coordinate information through the framework. For example, the processor350may convert the physical coordinate information for the hardware component into the software coordinate information such that a position where the hardware component included in the electronic device300is disposed in the electronic device300may be expressed on the display310.

For example, the database may store specifications of the electronic device300(e.g., a width and a height of the electronic device300). For example, the database may store the physical coordinate information for the hardware component included in the electronic device300for each type of the electronic device300. For example, the physical coordinate information for the hardware component may be stored in the database in a development stage of the electronic device300or may be stored in the database by the electronic device300. For example, the physical coordinate information may contain physical coordinate values of two points (e.g., an upper left end and a lower right end) corresponding to each other in a virtual rectangle containing the hardware component. For example, the processor350may determine a physical difference (an offset) based on the size and an arrangement of the display310in the electronic device300. For example, the processor350may identify the physical size of the display310and determine a ratio between the physical size and the resolution of the display310. For example, the physical size of the display310may have a value in mm, and the resolution of the display310may have a value in pixels. For example, the processor350may obtain the software coordinate information using the physical coordinate information, the offset, and the ratio of the hardware component. For example, the electronic device300may obtain the software coordinate information indicating at which position on the display310the hardware component included in the electronic device300exists. For example, when the software coordinate information is generated, the processor350may correct a coordinate value outside a region of the display310to coordinates on the region of the display310closest based on an L1distance (a Manhattan distance). According to an embodiment, the processor350may store the converted software coordinate information in the database.

According to an embodiment, the processor350may output an interface configured based on the information related to the hardware component through the display310. According to an embodiment, the interface may contain at least one information of a size, a position, a use, and a usage of the hardware component, or a visual representation or a content related to the at least one information. For example, the processor350may output an interface related to a position or a usage of a specific hardware component with respect to a function executable using the corresponding specific hardware component in the electronic device300. For example, the processor350may output a content (e.g., a wallpaper) configured using the information related to the hardware component (e.g., the position of the hardware component (e.g., a camera)).

According to various embodiments of the disclosure, the electronic device300may provide the API that may be used regardless of the type of the electronic device300, thereby, when the API is called from an application included in the arbitrary electronic device300, obtaining the information related to the hardware component (e.g., the software coordinate information) corresponding to the corresponding electronic device300from the database and providing the obtained information to the application. For example, according to various embodiments disclosed in the disclosure, an interface or a content that is adaptively changed based on the information related to the hardware component (e.g., the position, an arrangement, and whether of being included of the hardware component) of each device may be output through the same application in different devices.

FIGS. 4A and 4Bare diagrams illustrating example coordinate information according to various embodiments.

According to an embodiment, the physical coordinate information or the software coordinate information may be stored in a database located inside or outside an electronic device400(e.g., the electronic device101inFIG. 1and the electronic device300inFIG. 3). According to an embodiment, the electronic device400may convert the physical coordinate information into the software coordinate information. According to an embodiment,FIG. 4Arepresents the physical coordinate information, andFIG. 4Brepresents the software coordinate information.

According to an embodiment, the physical coordinate information may include three-dimensional coordinate information for a hardware component of the electronic device400. For example, the physical coordinate information may include absolute coordinate information for each position of the electronic device400based on a point of the electronic device400(e.g., a left uppermost end of the electronic device400). For example, the physical coordinate information may use mm units. For example, the physical coordinate information may have a value of (X mm, Y mm, Z mm) for a horizontal axis (an X axis), a vertical axis (a Y axis), and a width (a Z axis). According to an embodiment, information related to the Z-axis in the physical coordinate information may be set based on some components or the position of the electronic device400for simplification of the information. For example, the Z axis-related information of the physical coordinate information may be set to one of a ‘front’ exposed to the outside of a housing of the electronic device400and representing a front surface, an ‘edge’ exposed to the outside of the housing of the electronic device400and representing a side surface, a ‘back’ exposed to the outside of the housing of the electronic device400and representing a rear surface, and an ‘inside’ representing an interior of the housing of the electronic device400. For example, the front surface (e.g., the ‘front’) exposed to the outside of the housing of the electronic device400may be subdivided into an ‘onscreen’ representing a portion of a display410of the electronic device400and an ‘offscreen’ representing an external portion of the display410of the electronic device400. For example, the physical coordinate information may have a value such as (X mm, Y mm, edge). For example, in a case of a hardware component that the electronic device400does not include, the physical coordinate information may be set to a value such as a ‘none’.

According to an embodiment, the software coordinate information may be two-dimensional coordinate information set based on the display410of the electronic device400. For example, the software coordinate information may be relative coordinates with respect to a position in the display410based on one point of the display410(e.g., a left uppermost end of the display410). For example, the software coordinate information, which is two-dimensional coordinates on a plane of the display410, may use pixel units. For example, the software coordinate information may have a value of (X pixel, Y pixel) with respect to the horizontal axis (the X axis) and the vertical axis (the Y axis) of the display410.

According to an embodiment, the software coordinate information may have a different value based on a state of the electronic device400. For example, when the electronic device400includes the foldable (flexible) display410, the software coordinate information for the same hardware component may be changed based on a folded state of the display410. For example, when the display410is folded in half, the software coordinate information may be set for substantially half of the display410.

FIG. 5is a signal flow diagram illustrating an example information providing operation of an electronic device (e.g., the electronic device101inFIG. 1and the electronic device300inFIG. 3) according to various embodiments. For example,FIG. 5illustrates a case in which an application530stored in the electronic device requests the information by specifying a specific hardware component of the electronic device and a state of the electronic device.

According to an embodiment, in operation501, the application530may make a request for the information for the hardware component of the electronic device to a processor520. For example, the application530may transmit, to the processor520, a request containing information of the electronic device (e.g., an ID of the electronic device), state information of the electronic device, and a name of a hardware component for which the information is desired.

According to an embodiment, the processor520may communicate with the application530via the framework. For example, the application530may call an application programming interface (API) that makes a request for the information for the hardware component of the electronic device to the processor520(e.g., the framework). According to an embodiment, the application530may request the information by specifically specifying the hardware component for which the information is desired. For example, the application530may call the ID of the electronic device, the state of the electronic device, and an API containing the hardware component (e.g., getPosition (the ID (e.g., SM-F9000F) of the electronic device), the state (e.g., folded) of the electronic device and the hardware component (a front camera)). For example, when the electronic device includes the foldable display, the state of the electronic device may include folded state information of the electronic device (the foldable display).

According to an embodiment, in operation503, the processor520may transmit the request received from the application530to a database510. For example, the processor520may forward the API received from the application530to the database510. For example, the processor520may make a request for the information related to the hardware component corresponding to the request received from the application530to the database510. According to an embodiment, the processor520may search for the information related to the hardware component from the database510based on the request received from the application530. For example, when information for the front camera of the electronic device is requested from the application, the processor520may search for the information related to the corresponding hardware component (e.g., the front camera) from the database510. According to an embodiment, the processor520may search for the information related to the hardware component corresponding to the state of the electronic device. For example, when the electronic device includes the foldable display, the software coordinate information for the hardware component may be different based on the folded state of the electronic device. For example, the software coordinate information for the hardware component, which is relative coordinate information based on a pixel of the display of the electronic device, may be different depending on the folded state of the electronic device. For example, the processor520may recognize the state of the electronic device and search for the software coordinate information corresponding to the state of the electronic device from the database510.

According to an embodiment, in operation505, the database510may transmit the information for the hardware component to the processor520. For example, the database510may transmit the information related to the hardware component (e.g., the software coordinate information) corresponding to the received request (or the API) to the processor520(e.g., the framework).

According to an embodiment, in operation507, the processor520(e.g., the framework) may transmit the information related to the hardware component received from the database510to the application530.

FIG. 6is a signal flow diagram illustrating an example information providing operation of an electronic device (e.g., the electronic device101inFIG. 1and the electronic device300inFIG. 3) according to various embodiments. For example,FIG. 6illustrates a case in which an application630requests the information without specifying the specific hardware component of the electronic device and the state of the electronic device.

According to an embodiment, in operation601, the application630may make a request for the information for the hardware component of the electronic device to a processor620(e.g., the framework). For example, the application630may call an application programming interface (API) that makes a request for information for a hardware type to the processor620without specifying the specific hardware component of the electronic device. For example, the application630may transmit the request containing the type of the hardware component or the API (e.g., getPosition (the type of the hardware component (e.g., the camera))) to the processor620.

According to an embodiment, in operation603, the processor620may analyze the request (e.g., the API) received from the application630and convert the request. For example, when information related to the camera is requested from the application630, the processor620may determine the hardware component requested by the application630based on at least one of the type or the ID of the electronic device, the state of the electronic device (e.g., the folded state of the foldable display), a type and an attribute of the application630, and an execution state of the application630. For example, when the application630requests the information for the camera, the processor620may determine which information the application630has requested among information for the front camera, a rear camera, or all cameras. According to an embodiment, the processor620may recognize the hardware component and a lower hardware component requested by the application630based on the hardware hierarchical information. For example, when the application630requests information for a hardware component of a parent class, the processor620may recognize the requested hardware component of the parent class and a hardware component of a lower child class, and change the request (e.g., the API) of the application630based on the recognized hardware components. For example, when the application630requests the information of the camera, the processor620may recognize the camera, and the front camera and the rear camera of the child class thereof. According to an embodiment, when the specific hardware component requested by the application630is not able to be specified, the electronic device may convert the API to request information related to the hardware components of the lower child class with respect to the hardware component requested by the application630based on the hardware hierarchical information.

According to an embodiment, the processor620may convert the request received from the application630based on the recognized ID of the electronic device, state of the electronic device, and/or hardware component. For example, the processor620(e.g., the framework) may convert the API received from the application630based on the recognized ID of the electronic device, state of the electronic device, and/or hardware component.

According to an embodiment, in operation605, the processor620may transmit the converted request to a database610. For example, the processor620(e.g., the framework) may transmit the converted API to the database610. For example, the processor620may search for information for a hardware component and a lower hardware component thereof corresponding to the converted request (e.g., the API) from the database610.

According to an embodiment, in operation607, the database610may transmit the information for the hardware component to the processor620. For example, the database610may transmit, to the processor620(e.g., the framework), the information related to the hardware component (e.g., the software coordinate information) corresponding to the request (or the API) converted by the processor620(e.g., the framework). For example, the database610may transmit the information for the related hardware component (e.g., the information of the front camera and the rear camera) to the processor620based on the request (e.g., the API) received from the processor620.

According to an embodiment, in operation609, the processor620(e.g., the framework) may transmit the information related to the hardware component received from the database610to the application630.

According to various embodiments, when the exact hardware component is not specified from the application630, the electronic device (e.g., the processor620) may search for and provide the information for the related hardware component (e.g., the hardware component of the child class) from the database610.

FIG. 7is a diagram illustrating an example of hardware hierarchical information of an electronic device according to various embodiments.

According to an embodiment, the electronic device may search for the information of the hardware component and the hardware component of the lower hierarchy requested from the application from the database based on the hardware hierarchical information.

The hardware hierarchical information may be, for example, information that hierarchically classifies various hardware components that may be included in the electronic device.

For example, the electronic device (Device) may include hardware components of an antenna, a camera, a sensor, and a button, and may include physical components at a front surface (front), a rear surface (back), and a side surface (edge).

For example, the antenna as the parent class may include a Wi-Fi antenna, an LTE antenna, and a 5G antenna as the child class. For example, the camera as the parent class may include the front camera (front) and the rear camera (back) as the child class. For example, the sensor as the parent class may include a light sensor (light) and a gravity sensor (gravity) as the child class. For example, one hardware component may include a plurality of child classes or may be included in a plurality of parent classes. For example, a volume up button and a volume down button may belong to both a child class of the button and a child class of the side surface.

According to various embodiments, the hardware hierarchical information shown inFIG. 7is merely an example, and the present disclosure is not limited thereto. Hardware hierarchical information similar to that shown inFIG. 7may be set for each of the various hardware components that may be included in the electronic device.

FIG. 8is a diagram illustrating an example of data flow according to various embodiments.

According to an embodiment, a database810may store information (e.g., physical coordinates and software coordinates) for the hardware component for each device.FIG. 8shows that the database810is located outside the electronic device (e.g., the electronic device101inFIG. 1and the electronic device300inFIG. 3). However, according to various embodiments, the database810may be included inside (e.g., in the memory) of the electronic device.

According to an embodiment, in operation801, physical coordinate information (a) may be stored in the database810. For example, the physical coordinate information (a), which may include coordinates for the hardware component of the electronic device, may include three-dimensional coordinate information. For example, the physical coordinate information (a) may include coordinate information for each hardware component included in the electronic device for each electronic device. For example, the physical coordinate information (a) may include 3D coordinate information for the hardware component of the electronic device. For example, the physical coordinate information (a) may include absolute coordinate information for each position of the electronic device based on one point of the electronic device (e.g., a left uppermost end of the electronic device). For example, the physical coordinate information (a) may use the mm units. For example, the physical coordinate information (a) may have the value of (X mm, Y mm, Z mm) for the horizontal axis (the X axis), the vertical axis (the Y axis), and the width (the Z axis). According to an embodiment, the physical coordinate information (a) related to the hardware component may be pre-stored in the database810in a development or commercialization stage of the electronic device.

According to an embodiment, in operation803, a processor820may obtain the physical coordinate information (a) from the database810. According to an embodiment, the processor820may correct the physical coordinates. For example, when defining the coordinates based on a main body of the electronic device, the hardware component (e.g., a side button) of some electronic devices may be out of a range of the main body (e.g., a housing) of the electronic device. For example, when the physical coordinate information (a) of the hardware component is out of the range of the main body of the electronic device, the electronic device may correct the physical coordinate information (a) of the hardware component to be in the range of the main body of the electronic device.

According to an embodiment, in operation805, the processor820may determine a ratio between the physical coordinate information (a) and software coordinate information (b). For example, the processor820may determine a conversion ratio (pixel/mm) between the physical coordinate information (a) using the mm units and the software coordinate information (b) using the pixel units. For example, the electronic device may determine a size of the display based on the physical coordinate information (a) of the electronic device stored in the database810, and calculate a ratio of the display (in pixels) to the physical size of the display (in mm). For example, in determining the ratio of the physical coordinate information (a) and the software coordinate information (b), the processor820may calculate a ratio of a one-dimensional vector value to one axis direction (e.g., the horizontal direction or the vertical direction) of the display. For example, the processor820may calculate a ratio between a physical horizontal length of the display and the number of horizontal pixels of the display, or may calculate a ratio between a physical vertical length of the display and the number of vertical pixels of the display.

According to an embodiment, in operation807, the processor820may convert the physical coordinate information (a) into the software coordinate information (b) based on the determined ratio. For example, the software coordinate information (b) may include coordinate information of the nearest pixel on the display corresponding to a physical position of the hardware component. For example, to solve an error caused by a difference in size and position of the main body of the electronic device and the display, the processor820may correct the software coordinate information converted by applying the ratio to the software coordinate information (b) on the display closest based on the L distance (e.g., the Manhattan distance).

For example, the processor820may convert the physical coordinate information (a) for the hardware component into the software coordinate information (b), thereby, when providing the information related to the hardware component (e.g., the position of the hardware component) to the display, providing the corresponding information related to the hardware component based on pixel coordinates of the display.

According to an embodiment, in operation809, the processor820may store the converted software coordinate information (b) in the database810. According to an embodiment, the database810may store the physical coordinate information (a) and the software coordinate information (b) of each hardware component classified based on the type (ID) of the electronic device and the state of the electronic device. According to an embodiment, when the information for the hardware component is requested from the application, the processor820may search for the software coordinate information (b) stored in the database810and provide the software coordinate information (b) to the application. For example, when the application calls the API that requests the information for the hardware component, the processor820(the framework) may convert the physical coordinates of the corresponding hardware component from the database810into the software coordinate information (b) and provide the software coordinate information (b), or search for the software coordinate information (b) related to the hardware component that is previously converted and stored in the database810and provide the software coordinate information (b) to the application.

Hereinafter, a more specific coordinate conversion operation according to an embodiment will be described in greater detail with reference toFIGS. 9A and 9B.

FIGS. 9A and 9Bare diagrams illustrating an example coordinate conversion operation of the electronic device (e.g., the electronic device101inFIG. 1and the electronic device300inFIG. 3) according to various embodiments.

According to an embodiment, the electronic device (e.g., the processor) may convert the physical coordinate information stored in the database into the software coordinate information. For example, the processor may process the API that converts the physical coordinate information below into the software coordinate information through the framework.

According to an embodiment,910represents information that is previously stored (input) in the database, and a memory state, and920represents a calculation method and a memory state of when the electronic device calculates the software coordinate information based on the information stored in the database. For example, the memory state indicates a type and a format of the information stored in the database or the memory of the electronic device.

According to an embodiment, in operation911, a specification of the electronic device (e.g., a portable terminal) may be stored (input) in the database. For example, the specification of the electronic device may use the mm units. For example, in operation911, information of a width (HW_Width) of the electronic device and a height (HW_Height) of the electronic device may be stored (input) in the database. Hereinafter, it is assumed that the width (HW_Width) of the electronic device is 100 mm and the height (HW_height) is 150 mm.

According to an embodiment, in operation913, the database may store (input) the physical coordinate information (HW coordinates) of each device (that is, the hardware component) included in the electronic device. According to an embodiment, the physical coordinates of the hardware component may be defined as values of coordinates (Point11) of an upper left end and coordinates (Point12) of a lower right end of a minimum virtual rectangle containing the corresponding hardware component. For example, in operation913, information of List {hardware component name (Device X), Point11coordinates (x1, y1, inside), Point12coordinates (x2, y2, inside)} may be stored (input) in the database.

According to an embodiment, in operation915, the database may store information of a characteristic (e.g., a resolution) of the display (e.g., an LCD) of the electronic device. For example, the resolution of the display may use the pixel units. For example, in operation915, the information of the resolution (X_pixels, Y_Pixels) of the display may be stored in the database. Hereinafter, it is assumed that the resolution of the display of the electronic device is (720 pixels, 1280 pixels).

For example, in operation921, the electronic device may correct the physical coordinate information stored in operation913. For example, when defining the coordinates based on the main body of the electronic device, some hardware components (e.g., the side button) of the electronic device may be out of a coordinate range of the electronic device. For example, when the physical coordinate information of the hardware component is out of a specification range of the electronic device, the electronic device may correct the physical coordinate information of the hardware component to be in the specification range of the electronic device. For example, when physical coordinate information of the volume up button is {VolumeUP, (−10, 40, edge), (0, 60, edge)}, the electronic device may correct the physical coordinate information like {VolumeUP, (0, 40, Edge), (0, 60, edge)}. For example, when physical coordinate information of a power button is {Power, (100, 20, edge), (110, 50, edge)}, the electronic device may correct the physical coordinate information like {Power, (100, 20, edge), (100, 50, edge)}. For example, the electronic device may correct the physical coordinates of each hardware component included in the electronic device to be in the range based on the specification of the electronic device (that is, in a range from 0 to 100 mm for the X axis (the width) and in a range from 0 to 150 mm for the Y axis (the height).

According to an embodiment, in operation922, the electronic device may set an offset (Delta) between the physical coordinate information and the software coordinate information. For example, because the physical coordinate information is defined for an entire region of the electronic device and the software coordinate information is defined for a region within the display of the electronic device, the offset may occur between the physical coordinate information and the software coordinate information. For example, the electronic device may set the (Point11) coordinates of the physical coordinate information of the display as the offset. For example, when the physical coordinate information of the display is {LCD, (10, 10, front), (90, 140, front)}, the electronic device may set the offset (Delta) to (10, 10). For example, the offset (Delta) may use the mm units.

According to an embodiment, in operation923, the electronic device may calculate the size of the display. For example, the electronic device may recognize the size of the display based on the physical coordinate information of the display. For example, when the Point11coordinate value is subtracted from the Point12coordinate value of the physical coordinate information of the display, the size of the display may be obtained. For example, when the physical coordinate information of the display is {LCD, (10, 10, front), (90, 140, front)}, by subtracting the coordinate value of the Point11(10, 10) from the coordinate value of the Point12(90, 140), a value (80, 130) may be obtained. For example, the electronic device may recognize that a width (Width_LCD) of the display is 80 mm and a height (Height_LCD) of the display is 130 mm.

According to an embodiment, in operation924, the electronic device may recognize the ratio of the physical coordinate information and the software coordinate information based on the resolution of the display. For example, the ratio may use the pixel/mm units. For example, the electronic device may calculate the ratio by dividing one of horizontal and vertical pixel values indicating the resolution of the display by one of the width and the height of the corresponding display. For example, the ratio may be calculated using one of one-dimensional vectors (the X-axis (the width) or the Y-axis (the height)). For example, when the resolution of the display (LCD) is (720, 1280), the width (Width_LCD) of the display is 80 mm, and the height (Height_LCD) of the display is 130 mm, the ratio may be 720/80=9 pixel/mm when the ratio is calculated based on the width.

According to an embodiment, in operation925, the electronic device may recognize physical coordinate information that is a center of each device (that is, each hardware component). For example, the electronic device may calculate center coordinates of the hardware component by adding the Point11coordinate value and the Point12coordinate value of the physical coordinate information of the hardware component to obtain a sum and then dividing the sum by two. For example, when the physical coordinate information of an NFC module is {NFC, (35,45, inside), (55,95, inside)}, physical coordinate information for a center of the NFC module may be {NFC, (45,70, inside)}. For example, when the physical coordinate information of the volume up button is {VolumeUp, (0, 40, edge), (0, 60, edge)}, physical coordinate information for a center of the volume up button may be {VolumeUp, (0, 50), edge}.

According to an embodiment, in operation926, the electronic device may calculate the software coordinate information of the hardware component using the physical coordinate information for the center of the hardware component, the offset (Delta), and the ratio. For example, the electronic device may obtain the software coordinate information by calculating (the physical coordinate information for the center of the hardware component-offset (Delta))*ratio. For example, the software coordinate information may use the pixel units.

For example, in the case of the NFC module described above, the electronic device

may obtain coordinate information of

As another example, in the case of the volume up button described above, the electronic device

may obtain software coordinate information of

According to an embodiment, in operation927, the electronic device may convert the software coordinate information obtained in operation926into the software coordinate information on the display closest based on the L1distance (e.g., the Manhattan distance). For example, the electronic device may obtain a X coordinate value of the software coordinate information through calculation of Min(Max(x1, 0), X_pixels), and obtain a Y coordinate value of the software coordinate information through calculation of Min(Max(y1, 0), Y_pixels). For example, x1and y1may be values of the software coordinate information obtained in operation925.

For example, assuming that the software coordinate information of the NFC module, the volume up button, and the power button obtained in operation925are respectively as follows:

The electronic device may convert (correct) the software coordinate information above to the software coordinate information on the display closest based on the L1distance to finally

obtain software coordinate information of

According to an embodiment, the finally obtained software coordinate information may be coordinates corresponding to one point (a pixel) on the display. For example, in providing a position for an arbitrary hardware component, the electronic device may output information indicating the point where the corresponding hardware component is located on the display based on the software coordinate information.

FIG. 10is a diagram illustrating an example of an interface provided by electronic devices1010and1020(e.g., the electronic device101inFIG. 1and the electronic device300inFIG. 3) according to various embodiments.

According to an embodiment, the electronic devices1010and1020may output an interface configured based on the information related to the hardware component. According to various embodiments, when receiving an input for executing a function of the electronic devices1010and1020from the user, the electronic devices1010and1020may output an interface indicating the information related to the hardware component (e.g., the position of the hardware component) required to perform the corresponding function. For example, when an input of asking a method for capturing a screen is received from the user, the electronic devices1010and1020may output an interface indicating the method for capturing the screen. For example, when an input of pressing a specific hardware button is received by the electronic devices1010and1020, the screen may be captured. In this case, the electronic devices1010and1020may output an interface indicating a position of the button to be pressed to capture the screen based on the information related to the hardware component (e.g., the button). For example, the electronic devices1010and1020may output a text “Press Here” instructing to press the button on the screen together with an indication (e.g., an arrow) indicating the position of the button. According to various embodiments, the electronic devices1010and1020may obtain the information of the hardware component corresponding to each device from the database, thereby easily providing the information related to the hardware component of the corresponding electronic devices1010and1020when receiving the same input (e.g., a method for performing a specific function) from the user even in a case of different types of electronic devices. For example, each of the electronic devices1010and1020may have different positions of the buttons for the screen capture. For example, when the user makes a request for the same screen capture to the first electronic device1010and the second electronic device1020of the different types, the first device1010and the second device1020may appropriately provide the information related to the hardware component (e.g., the button) required to perform the function to the corresponding electronic device.

FIG. 11is a diagram illustrating an example of an interface provided by electronic devices1110a,1110b,1120a,and1120b(e.g., the electronic device101inFIG. 1and the electronic device300inFIG. 3) according to various embodiments.

According to an embodiment, the electronic device1110a,1110b,1120a,and1120bmay output the interface configured based on the information related to the hardware component. For example, the electronic devices1110a,1110b,1120a,and1120bmay output the interface indicating the information related to the hardware component (the position of the hardware component) used for the specific function. For example, in the first electronic devices1110aand1110band the second electronic devices1120aand1120bof different types, the hardware components performing the same function may be disposed at different positions. According to an embodiment, the first electronic devices1110aand1110band the second electronic devices1120aand1120bmay obtain the requested information for the hardware component from the database, and may output the interface related thereto.

For example, when the user (or the application) requests information for the NFC module, the first electronic device1110amay output information on a position of the NFC module on the display. For example, the first electronic device1110amay output information indicating that the NFC module is located at a center of an upper end of a rear surface of the display. For example, the second electronic device1120a,which is different from the first electronic device1110a,may output information indicating that the NFC module is located at a center of a right side of the rear surface of the display.

For example, when the user (or the application) requests information related to a hardware component related to a payment function (e.g., Loop Pay), the first electronic device1110bmay output information indicating that there is the hardware component performing the payment function at a center of a lower end of the rear surface of the display. For example, the second electronic device1110bmay output information indicating that there is no hardware component for performing the payment function.

According to various embodiments disclosed in the disclosure, by defining the framework or the API that may provide the information related to the hardware component of each device regardless of the type of device, when information of the arbitrary hardware component is requested, the information related to the corresponding hardware component in the electronic device for which the request is generated may be easily provided.

FIG. 12is a diagram illustrating an example of an interface provided by electronic devices1210and1220(e.g., the electronic device101inFIG. 1and the electronic device300inFIG. 3) according to various embodiments.

According to an embodiment, the electronic devices1210and1220may output the interface configured based on the information related to the hardware component. For example, when an input (e.g., the button or key press) related to the specific hardware component is received, the electronic devices1210and1220may output feedback based on the information related to the corresponding hardware component.

For example, when a lower left button is pressed in the first electronic device1210, the first electronic device1210may provide feedback1211indicating that the button is pressed on a portion corresponding to a position of the pressed button on the display. For example, when an upper right end button is pressed on the second electronic device1220, the second electronic device1220may provide feedback1221indicating that the button is pressed on a portion corresponding to a position of the pressed button on the display.

According to various embodiments, the electronic devices1210and1220may configure an interface that provides feedback related to the hardware component (e.g., the button), so that, when physical buttons placed at different positions on different devices are pressed, the same type of feedback may be provided based on information for the positions where the corresponding buttons are respectively disposed in the electronic devices1210and1220.

FIGS. 13A and 13Bare diagrams illustrating an example of an interface provided by an electronic device1300(e.g., the electronic device101inFIG. 1and the electronic device300inFIG. 3) according to various embodiments.

According to an embodiment, the electronic device1300may output the interface configured based on the information related to the hardware component. For example, when a specific function is performed in the electronic device1300, the interface may be output based on information related to a hardware component related to the specific function. For example, when a camera function (an image capturing function) is performed in the electronic device1300inFIG. 13A, feedback in a form in which, based on a position of the related hardware component (e.g., a camera1390), a captured image1301enters the position of the camera1390. For example, when a gallery function is performed in the electronic device1300inFIG. 13B, based on the position of the related hardware component (e.g., the camera1390), feedback in a form in which the image1301is output from the position of the camera1390may be provided.

FIG. 14is a diagram illustrating an example of an interface provided by an electronic device (e.g., the electronic device101inFIG. 1and the electronic device300inFIG. 3) according to various embodiments.

According to an embodiment, in operation1410, a content may be configured based on the information related to the hardware component of the electronic device. For example, a wallpaper may be configured based on information related to the specific hardware component. For example, the wallpaper may define an object or an image positioned at a certain distance (e.g., 200 pixels from a camera hole) to a position of the camera hole and moving in a circle with a certain rotation radius (e.g., 3/2π±1/4π). For example, the content (e.g., the wallpaper) may be defined through the application (e.g., a theme editor) of the electronic device or the external device.

According to an embodiment, in operation1420, the configured wallpaper (e.g., a wallpaper application (wallpaper.apk)) may be uploaded to the external device (e.g., a theme store) and registered.

According to an embodiment, in operation1430, the electronic device may download the content (e.g., the wallpaper (e.g., the wallpaper application (wallpaper.apk)) configured in operation1410) configured based on the information related to the hardware component from the external device (e.g., the theme store).

According to an embodiment, in operation1440, the electronic device may provide the information related to the hardware component to the application. For example, at least one application (e.g., the wallpaper application downloaded by the electronic device in operation1430) stored in the electronic device may make a request for information related to the hardware component necessary for executing the received content to the processor (e.g., the framework), and receive the information related to the hardware component from the processor. For example, in operation1441, the wallpaper application may make a request for information related to the hardware component (e.g., information related to a position of the camera (e.g., the position of the camera hole)) required to execute the downloaded wallpaper to the processor (e.g., the framework). In operation1443, the processor may transmit the information for the camera position (e.g., software coordinate information indicating the camera position) to the wallpaper application. For example, the processor may transmit center coordinate information (e.g., (1000, 100)) of the camera (e.g., the camera hole) to the wallpaper application.

According to an embodiment, in operation1450, the application may execute the content based on the information related to the hardware component provided by the processor. For example, the application may output a wallpaper containing objects W1and W2that move in a circle within a certain range from a center position of cameras C1and C2based on position information of the cameras C1and C2provided from the processor. For example, the content is merely configured to utilize the information related to the hardware component, and a hardware component for a specific device may not be previously determined. For example, the content is merely configured to provide the content using the camera position. Information related to the actual camera position may be configured to obtain, when a related application is executed in an arbitrary device, information related to the camera position in the corresponding device, so that even when different devices execute a content from the same source, different types of content may be provided based on the position of the hardware component of each device. For example, the application may be defined to display the object moving within the certain range based on the position of the camera hole in the electronic device, and may configure the content to be displayed after obtaining coordinate information for the camera hole of the corresponding electronic device from the processor. For example, when a first device1451and a second device1453with different arrangements of the hardware components (e.g., the cameras C1and C2) download the content (e.g., the wallpaper) from the same source from the external device (e.g., the theme store) and provide the content, a wallpaper containing the object W1that moves in the circle within the certain radius from a center of a camera hole C1at an upper left end may be output because a position of the camera hole C1is located at the upper left end of the first device1451, and a wallpaper containing the object W2that moves in the circle within the certain radius from a center of a camera hole C2at an upper right end may be output because a position of the camera hole C2is located at the upper right end of the second device1453.

An electronic device according to an example embodiment may include: a display, a memory, and a processor electrically connected to the display and the memory. According to an embodiment, the memory may store instructions that, when executed, cause the processor to: search for information related to a hardware component of the electronic device from a database based on identification information or state information of the electronic device; and provide the information related to the hardware component to at least one application stored in the memory.

According to an example embodiment, the information related to the hardware component may include coordinate information set based on characteristics of the display of the electronic device.

According to an example embodiment, the instructions, when executed, may cause the processor to: search for information of the hardware component and a lower hierarchical hardware component from the database based on hardware hierarchical information; and provide at least one found information of the hardware component as the information related to the hardware component.

According to an example embodiment, the instructions, when executed, may cause the processor to convert physical coordinate information for the hardware component stored in the database into software coordinate information based on the characteristics of the display.

According to an example embodiment, the instructions, when executed, may cause the processor to store the software coordinate information in the database.

According to an example embodiment, the physical coordinate information may include three-dimensional coordinate information, and the software coordinate information may include two-dimensional coordinate information converted based on a resolution and a position of the display.

According to an example embodiment, the software coordinate information may include coordinate values of pixels of the display.

According to an example embodiment, the database may be included in an external device. According to an example embodiment, the memory may include the database.

According to an example embodiment, the instructions, when executed, may cause the processor to output an interface configured based on the information related to the hardware component through the display.

According to an example embodiment, the interface may contain at least one information of a size, a position, a use, and a usage of the hardware component, or a visual representation or a content related to the at least one information.

FIG. 15is a flowchart illustrating an example information providing method of an electronic device according to various embodiments.

According to an embodiment, in operation1510, the electronic device (e.g., the electronic device101inFIG. 1and the electronic device300in FIG.3) may search for the information related to the hardware component from the database based on the state information or the identification information of the electronic device. According to an embodiment, when the information for the hardware component is requested from the application stored in the electronic device, the electronic device may search for the information related to the hardware component from the database based on the state information or the identification information of the electronic device. For example, the application may make a request for the information for the hardware component to the framework. For example, the application may call the API that requests the information for the hardware component.

According to an embodiment, the electronic device may search for the information related to the hardware component (e.g., the software coordinate information of the hardware component) requested by the application from the database based on the hardware hierarchical information. For example, the hardware hierarchical information may be information that sets a hierarchical relationship of the hardware components as the parent class and the child class for the hardware components that the electronic device may include. For example, the electronic device may search for the information related to the hardware component requested by the application and information related to the hardware component of a lower class (the child class) of the hardware component requested by the application from the database. For example, when the application requests the information for the camera, the electronic device may search for the information related to all of the cameras (e.g., the front camera and the rear camera) from the database.

For example, the electronic device may search for the information related to the hardware component (e.g., the software coordinate information) corresponding to the state of the electronic device from the database based on the state (e.g., the folded state) of the electronic device. For example, the software coordinate information is the coordinates set based on the display characteristics (e.g., the screen resolution and the number of pixels) of the electronic device, so that, when the display of the electronic device is folded, software coordinates for the specific hardware component may become different. The electronic device may obtain software coordinate information suitable for a current state of the electronic device from the database based on the state of the electronic device.

According to an embodiment, in operation1520, the electronic device may transmit the information related to the hardware component to the at least one application stored in the electronic device. For example, the electronic device may transmit the software coordinate information obtained from the database to the at least one application. For example, the electronic device may transmit the information related to the hardware component (e.g., the software coordinate information) to the application that has requested the information related to the hardware component.

FIG. 16is a flowchart illustrating an example information providing method of an electronic device according to various embodiments.

According to an embodiment, in operation1610, the electronic device (e.g., the electronic device101inFIG. 1and the electronic device300inFIG. 3) may obtain the information related to the hardware component from the database based on the identification information or the state information of the electronic device. For example, the electronic device may obtain the software coordinate information related to the hardware component of the corresponding electronic device from the database.

According to an embodiment, in operation1620, the electronic device may configure the interface based on the information related to the hardware component. For example, the interface may contain at least one information of the size, the position, the use, and the usage of the hardware component, or the visual expression or the content related to the at least one information. For example, the electronic device may configure the interface that utilizes the information of the specific hardware component (e.g., the camera, the NFC module, the side button, and the antenna) of the electronic device.

According to an embodiment, in operation1630, the interface may be output. According to various embodiments, the interface output by the electronic device is not based on a definitive data value for the hardware component of the specific device, but is based on the information related to the hardware component for each device obtained from the database, so that an output form of the interface may change depending on the device that outputs the interface. For example, when outputting an interface where a specific object is displayed at the camera position, an interface in which the specific object is displayed based on the camera position of the corresponding device may be output.

According to various embodiments, the interface may be configured using the information related to the hardware component (e.g., the position of the hardware component) of each device in the different devices, so that, even for interfaces of the same source, different types of interfaces may be output for the electronic devices.

FIG. 17is a flowchart illustrating an example information providing method of an electronic device according to various embodiments.

According to an embodiment, in operation1710, the electronic device (e.g., the electronic device101inFIG. 1and the electronic device300inFIG. 3) may receive the physical coordinate information for the hardware component from the database. According to various embodiments, the database may exist outside the electronic device or may be included in the electronic device.

According to an embodiment, the physical coordinate information may be the three-dimensional coordinate information for the hardware component of the electronic device. For example, the physical coordinate information may be the absolute coordinate information for each position of the electronic device based on one point of the electronic device (e.g., the left uppermost end of the electronic device). For example, the physical coordinate information may use the mm units. According to an embodiment, the physical coordinate information may include the device identification information (the device ID), the hardware component name, and the physical coordinate value. For example, the physical coordinate information may have a format of {the hardware component name, (X mm, Y mm, Z mm)}. As another example, the Z axis-related information may be set to a simplified value based on the position of the hardware component. For example, the Z axis-related information of the physical coordinate information may be set to one of a ‘front’ exposed to the outside of a housing of the electronic device and representing a front surface, an ‘edge’ exposed to the outside of the housing of the electronic device and representing a side surface, a ‘back’ exposed to the outside of the housing of the electronic device and representing a rear surface, and an ‘inside’ representing an interior of the housing of the electronic device. In this case, the physical coordinate information may have a format of {the hardware component name, (X mm, Y mm, inside)}.

According to an embodiment, in operation1720, the electronic device may convert the physical coordinate information into the software coordinate information. According to an embodiment, the software coordinate information may be the two-dimensional coordinate information set based on the display of the electronic device. For example, the software coordinate information may be relative coordinates with respect to a position in the display based on one point of the display (e.g., a left uppermost end of the display). For example, the software coordinate information, which is two-dimensional coordinates on a plane of the display, may use the pixel units. According to an embodiment, the software coordinate information may include the device hardware component name, and the software coordinate value. For example, the software coordinate information may have a format of {the hardware component name, (X pixel, Y pixel)}. According to an embodiment, the software coordinate information may further include the information of the simplified Z axis information (e.g., the front, the back, the inside, the edge, and the like) in the physical coordinates. According to an embodiment, each of the physical coordinate information and the software coordinate information, which is set for each type of the device, may further include the device ID information.

According to an embodiment, the electronic device may convert the physical coordinate information into the software coordinate information based on the display characteristics (e.g., the resolution and the number of pixels) of the electronic device. For example, the electronic device may convert the physical coordinate information into the software coordinate information based on the scheme described above with reference toFIGS. 8, 9A and 9B.

According to an embodiment, in operation1730, the electronic device may store the software coordinate information in the database. According to an embodiment, when the information for the hardware component is requested from the user or the application stored in the electronic device, the electronic device may provide the software information stored in the database as the information related to the hardware component.

According to an embodiment, the coordinate conversion operation described with reference toFIG. 17may be performed before performing the information providing method illustrated inFIG. 15orFIG. 16.

According to various embodiments, operations similar or related to each other in the methods described with reference toFIGS. 15, 16 and 17may be performed in conjunction with each other or may be performed independently. According to various embodiments, one or more operations described inFIGS. 15, 16 and 17may be performed sequentially. In this case, some duplicated operations may be omitted.

A method for providing information of an electronic device according to an example embodiment may include: searching for information related to a hardware component of the electronic device from a database based on identification information of the electronic device or state information of the electronic device; and providing the information related to the hardware component to at least one application stored in a memory of the electronic device. According to an example embodiment, the information related to the hardware component may include coordinate information set based on characteristics of a display of the electronic device.

According to an example embodiment, the searching for the information related to the hardware component may include searching for information of the hardware component and a lower hierarchical hardware component from the database based on hardware hierarchical information.

According to an example embodiment, the providing of the information related to the hardware component may include providing at least one found information of the hardware component as the information related to the hardware component.

According to an example embodiment, the method may further include converting physical coordinate information for the hardware component stored in the database into software coordinate information based on the characteristics of the display.

According to an example embodiment, the method may further include storing the software coordinate information in the database.

According to an example embodiment, the physical coordinate information may include three-dimensional coordinate information, and the software coordinate information may include two-dimensional coordinate information converted based on a resolution and a position of the display.

According to an example embodiment, the software coordinate information may include coordinate values of pixels of the display.

According to an example embodiment, the database may be included in an external device. According to an embodiment, the memory may include the database.

According to an example embodiment, the method may further include outputting an interface configured based on the information related to the hardware component through the display.

According to an example embodiment, the interface may contain at least one information of a size, a position, a use, and a usage of the hardware component, or a visual representation or a content related to the at least one information.