JP2024521564A - 画面投影方法及び関連装置 - Google Patents

画面投影方法及び関連装置 Download PDF

Info

Publication number
JP2024521564A
JP2024521564A JP2023571459A JP2023571459A JP2024521564A JP 2024521564 A JP2024521564 A JP 2024521564A JP 2023571459 A JP2023571459 A JP 2023571459A JP 2023571459 A JP2023571459 A JP 2023571459A JP 2024521564 A JP2024521564 A JP 2024521564A
Authority
JP
Japan
Prior art keywords
desktop
electronic device
display
status bar
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023571459A
Other languages
English (en)
Inventor
リウ,シヤオルゥ
ツァイ,シーゾーン
ルオ,プゥリヤーン
リヤオ,ホーンジュイン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2024521564A publication Critical patent/JP2024521564A/ja
Pending legal-status Critical Current

Links

Images

Abstract

Figure 2024521564000001
本出願は、画面投影方法及び関連装置を開示する。画面投影方法において、第1の電子デバイスは、第1の表示領域に関連付けられた第1のデスクトップを実行するために第1のアプリケーションの第1のモジュールを呼び出し、第1の表示領域に基づいて、第1のデスクトップを含む第1の表示コンテンツを表示する;第1のユーザ操作に応答して、第1の電子デバイスは、第2の表示領域に関連付けられた第2のデスクトップを実行するために、第1のアプリケーションの第2のモジュールを呼び出す;第1の電子デバイスは、第2の電子デバイスに、第2のデスクトップを含み、第2の表示領域に対応する第2の表示コンテンツを送信する;第1の表示コンテンツに対して実行される第2のユーザ操作に応答して、第1の電子デバイスは、第1の表示領域に基づいて第3の表示コンテンツを表示する;第2の電子デバイスによって表示される第2の表示コンテンツに対して実行される第3のユーザ操作に応答して、第1の電子デバイスは、第2の表示領域に基づいて第4の表示コンテンツを決定し、第2の電子デバイスに第4の表示コンテンツを送信する。これにより、第1の電子デバイスと第2の電子デバイスは、画面投影後に異なるコンテンツを表示することができる。

Description

本出願は、2021年5月19日に中国国家知識産権局に提出された「SCREEN PROJECTION METHOD」と題する中国特許出願第202110547552.4号の優先権を主張しており、その全体が参照により本明細書に組み込まれる。本出願は、2021年6月30日に中国国家知識産権局に提出された「SCREEN PROJECTION METHOD AND RELATED APPARATUS」と題する中国特許出願第202110745467.9号の優先権を主張しており、その全体が参照により本明細書に組み込まれる。
本出願は、電子技術の分野、特に、画面投影(screen projection)方法及び関連装置に関する。
スマート端末と複数のディスプレイデバイスは共にマルチスクリーン連携と協力的な相補性を形成し、これは全シナリオエコロジー(all-scenario ecology)を確立する上で重要なリンクである。現在、画面投影技術は、大画面シナリオ、例えば、モバイルオフィス画面、車載端末Hicarシナリオ、スマート画面シナリオをカバーしている。携帯電話のパーソナルコンピュータ(Personal Computer、PC)への画面投影が例として用いられている。携帯電話がコンピュータに投影された後、ユーザはコンピュータ上で携帯電話を操作及び制御することができる。
しかし、従来の大画面投影技術では、ミラー投影が一般に使用される。具体的には、投影後の携帯電話(すなわち、投影送信デバイス)の表示コンテンツは、コンピュータ(すなわち、投影受信デバイス)の表示コンテンツと完全に同じである。ユーザは、投影送信デバイスと投影受信デバイスで異なる表示コンテンツを見ることはできない。
本出願は、画面投影後に投影送信デバイスと投影受信デバイスが異なるコンテンツを表示できるようにするために画面投影方法及び関連装置を提供する。
第1の態様によれば、本出願は、以下を含む画面投影方法を提供する:第1の電子デバイスが、第1のデスクトップを実行するために第1のアプリケーションの第1のモジュールを呼び出し、第1のデスクトップは第1の表示領域に関連付けられる;第1の電子デバイスは、第1の表示領域に基づいて第1の表示コンテンツを表示し、第1の表示コンテンツは、第1のデスクトップを含む;第1のユーザ操作に応答して、第1の電子デバイスは、第2のデスクトップを実行するために、第1のアプリケーションの第2のモジュールを呼び出し、第2のデスクトップは、第2の表示領域に関連付けられる;第1の電子デバイスは、第2の表示領域に対応する第2の表示コンテンツを第2の電子デバイスに送信し、第2の表示コンテンツは、第2のデスクトップを含む;第1の表示コンテンツに対して実行される第2のユーザ操作に応答して、第1の電子デバイスは、第1の表示領域で実行されるタスクスタックに基づいて第3の表示コンテンツを表示する;第2の電子デバイスによって表示される第2の表示コンテンツに対して実行される第3のユーザ操作に応答して、第1の電子デバイスは、第2の表示領域に対応する表示コンテンツが第2の表示領域で実行されるタスクスタックに基づいて第4の表示コンテンツであると決定する;第1の電子デバイスは、第4の表示コンテンツを第2の電子デバイスに送信する。
本出願の本実施形態では、第1の電子デバイス(すなわち、投影送信デバイス)は、同じアプリケーションを使用して異なる表示領域で複数のデスクトップインスタンスを同時に実行すること、例えば、第1のアプリケーションの第1のモジュールを使用して第1の表示領域で第1のデスクトップを実行すること、及び、第1のアプリケーションの第2のモジュールを使用して第2の表示領域で第2のデスクトップを実行することをサポートする。第1の電子デバイスは、第1の表示領域で実行されるタスクスタックに基づいて、第1の電子デバイスのホーム画面上の表示コンテンツを決定し;第2の表示領域で実行されるタスクスタックに基づいて、第2の電子デバイス(すなわち、投影受信デバイス)に投影される表示コンテンツを決定する。このようにして、第1の電子デバイス及び第2の電子デバイスは、2つの異なる表示領域に基づいて、異なるデスクトップ及び他の異なるコンテンツを表示し得る。
実装では、第1の表示コンテンツで実行される第2のユーザ操作に応答して、第1の電子デバイスが第1の表示領域で実行されるタスクスタックに基づいて第3の表示コンテンツを表示することは次のことを含む:第1の表示コンテンツにおいて第1のデスクトップで実行される第2のユーザ操作に応答して、第1の電子デバイスは、第1のアプリケーションのものでありかつ第1の表示領域で実行されるタスクスタックに基づいて第3の表示コンテンツを表示する;第2の電子デバイスによって表示される第2の表示コンテンツに実行される第3のユーザ操作に応答して、第1の電子デバイスが、第2の表示領域に対応する表示コンテンツが第2の表示領域で実行されるタスクスタックに基づいて第4の表示コンテンツであると決定することは次のことを含む:第2の電子デバイスによって表示される第2のデスクトップで実行される第3のユーザ操作に応答して、第1の電子デバイスは、第2の表示領域に対応する表示コンテンツが、第1のアプリケーションのものであり、かつ、第2の表示領域で実行されるタスクスタックに基づいて第4の表示コンテンツであると決定する。
本出願の本実施形態では、第1のデスクトップで実行される第2のユーザ操作について、第1の電子デバイスは、第1のアプリケーションのものであり、かつ、第1のデスクトップに関連付けられた表示領域で実行されるタスクスタックに基づいて、第2のユーザ操作に対応する応答イベントを実行し得る;第2のデスクトップで実行される第3のユーザ操作について、第1の電子デバイスは、第1のアプリケーションのものであり、かつ、第2のデスクトップに関連付けられた表示領域で実行されるタスクスタックに基づいて、第3のユーザ操作に対応する応答イベントを実行し得る。これにより、異なるデスクトップのイベント(入力イベント及び/又は応答イベント)間のデータ分離を確実にすることができる。さらに、両方のデスクトップインスタンスが第1のアプリケーションのモジュールによって実行されるため、2つのデスクトップは指定されたデータの共有を実装でき、第2のデスクトップは、第1のデスクトップの一部又はすべての機能的な特徴を継承できる。
実装では、第1の電子デバイスが第1の表示領域に基づいて第1の表示コンテンツを表示する前に、方法はさらに次のことを含む:第1の電子デバイスは、第1のステータスバーを実行するために第2のアプリケーションの第3のモジュールを呼び出し、第1のステータスバーは第1の表示領域に関連付けられ、第1の表示コンテンツは第1のステータスバーを含む;方法はさらに次のことを含む:第1のユーザ操作に応答して、第1の電子デバイスは、第2のステータスバーを実行するために第2のアプリケーションの第4のモジュールを呼び出し、第2のステータスバーは第2の表示領域に関連付けられ、第2の表示コンテンツは第2のステータスバーを含む。
本出願の本実施形態では、第1の電子デバイスは、同じアプリケーションを使用して異なる表示領域で複数のステータスバーインスタンスを同時に実行すること、例えば、第2のアプリケーションの第3のモジュールを使用して第1の表示領域で第1のステータスバーを実行すること、及び第2のアプリケーションの第4のモジュールを使用して第2の表示領域で第2のステータスバーを実行することをサポートする。このように、2つのステータスバーが異なる表示領域に関連付けられているため、第1の電子デバイスと第2の電子デバイスは、異なるステータスバーを表示し得、それによって、2つのステータスバーのイベント(入力イベント及び/又は応答イベント)間のデータ分離を確実にする。さらに、両方のステータスバーが第2のアプリケーションのモジュールによって実行されるため、2つのステータスバーは、指定されたデータ(例えば、通知メッセージ)の共有を実装することができ、第2のステータスバーは、第1のステータスバーの一部又はすべての機能的な特徴を継承できる。
実装において、第1の電子デバイスが第1の表示領域に基づいて第1の表示コンテンツを表示する前に、方法はさらに次のことを含む:第1の電子デバイスは第1の変数の第1の表示オブジェクトを実行するために第3のアプリケーションの第5のモジュールを呼び出し、第1の変数は第1の表示領域に関連付けられ、第1の表示コンテンツは第1の表示オブジェクトを含み;第1の変数は第2の表示領域に関連付けられ、第2の表示コンテンツは第1の表示オブジェクトを含む。
本出願の本実施形態では、第1の電子デバイスは、複数の異なる表示領域における同じ変数に対応する表示オブジェクトの同時表示をサポートする。本出願の本実施形態では、第3のアプリケーションと第2のアプリケーションとは、同じアプリケーションであってもよいし、異なるアプリケーションであってもよい。これは本明細書において特に限定されるものではない。
実装において、本方法はさらに次のことを含む:第1の表示コンテンツに対して実行される第4のユーザ操作に応答して、第3のアプリケーションの第5のモジュールは、第1の変数の表示オブジェクトを第2の表示オブジェクトに変更するために呼び出され;第1の電子デバイスは、第1の表示領域に対応する表示コンテンツを第5の表示コンテンツに更新し、第5の表示コンテンツは、第2の表示オブジェクトを含み;第1の電子デバイスは、第2の表示領域に対応する表示コンテンツを第6の表示コンテンツに更新し、第6の表示コンテンツを第2の電子デバイスに送信し、第6の表示コンテンツは第2の表示オブジェクトを含む。
本出願の本実施形態では、第1の電子デバイスは、複数の異なる表示領域において、同じ変数に対応する表示オブジェクトの同時表示をサポートする。ユーザが第1の表示領域における第1の変数の表示オブジェクトを変更した後、第2の表示領域における第1の変数の表示オブジェクトもそれに応じて変わる。
実装では、第1の変数は壁紙の表示オブジェクトを示し、壁紙の表示オブジェクトは静止画(static picture)及び/又は動画(dynamic picture)であり、壁紙は、画面がロックされているときに使用されるロック画面の壁紙及び/又は画面がロックされていないときに使用されるデスクトップの壁紙を含む。
本出願の本実施形態では、ユーザが第1の電子デバイスに表示される壁紙を変更した後、第2の電子デバイスに投影される壁紙もそれに応じて変わる。
実施形態では、複数のテーマが第1の電子デバイスに予め設定され、テーマはデスクトップレイアウトスタイル、アイコンの表示スタイル及び/又はインターフェースの色等を示し;第1の変数は、テーマの表示オブジェクトを示し、テーマの表示オブジェクトは、複数のテーマのうちの1つに対応する表示コンテンツである。
本出願の本実施形態では、ユーザが第1の電子デバイスに表示されるテーマを変更した後、第2の電子デバイスに投影されるテーマもそれに応じて変わる。
実装では、第1のアプリケーションの第1のモジュールは、第1のデスクトップを作成及び実行するために使用される第1の共通クラス、第1のユーザインターフェースUI制御クラス、及び第1のデスクトップのデスクトップタスクスタックを含み;第1のアプリケーションの第2のモジュールは、第2のデスクトップを作成及び実行するために使用される第2の共通クラス、第2のUI制御クラス、及び第2のデスクトップのデスクトップタスクスタックを含み、第2の共通クラスの一部又はすべてのクラスは第1の共通クラスから継承され、第2のUI制御クラスの一部又はすべてのクラスは第1のUI制御クラスから継承される。
本出願の本実施形態では、第2のデスクトップを作成及び実行するために使用される第2の共通クラス、第2のUI制御クラス、及び第2のデスクトップのデスクトップタスクスタックが、第1の電子デバイスに追加され;追加された共通クラス及びUI制御クラスの一部又は全部が、元の第1のデスクトップに対応する第1の共通クラス及び第1のUI制御クラスから継承される。したがって、第2のデスクトップは、第1のデスクトップのいくつかの機能的な特徴を継承することができ、2つのデスクトップは指定されたデータの共有を実装できる。
実装では、第2の共通クラスは:デスクトップランチャープロバイダ、データベースアシスタント、デスクトップランチャー設定クラス、デスクトップランチャー定数クラス、PCレイアウト構成、PCデバイスファイル、PCセルカウンタ、PCデスクトップランチャーポリシー、PCデスクトップランチャーモデル、PC読み込みタスクなどの1つ以上を含む;第2のUI制御クラスは:PCドラッグレイヤ、PCデスクトップワークスペース、PCセルレイアウト、PCプログラムのドックビュー(dock view)、PCフォルダ、PCフォルダイコンなどの1つ以上を含む。
実装では、第2のアプリケーションの第3のモジュールは、第1のステータスバーを作成及び実行するために使用される第1のコンポーネント、第1の依存関係制御クラス、及び第3のUI制御クラスを含む;第1のアプリケーションの第2のモジュールは、第2のステータスバーを作成及び実行するために使用される第2のコンポーネント、第2の依存関係制御クラス、及び第4のUI制御クラスを含み、第2のコンポーネントの一部又はすべてのコンポーネントは第1のコンポーネントから継承され、第2の依存関係制御クラスの一部又はすべてのクラスは第1の依存関係制御クラスから継承され、第4のUI制御クラスの一部又はすべてのクラスは第3のUI制御クラスから継承される。
本出願の本実施形態では、第2のステータスバーを作成及び実行するために使用される第2のコンポーネント、第2の依存関係制御クラス、及び第4のUI制御クラスが、第1の電子デバイスに追加される;追加されたコンポーネント、依存関係制御クラス、及びUI制御クラスの一部又は全ては、元の第1のステータスバーに対応する第1のコンポーネント、第1の依存関係制御クラス、及び第3のUI制御クラスから継承される。したがって、第2のステータスバーは第1のステータスバーの一部の機能的な特徴を継承でき、2つのステータスバーは指定されたデータの共有を実装できる。
実装では、第2のコンポーネントは、PC依存関係クラス、PCシステムプロバイダ、PCシステムバー、及び第2のステータスバーの1つ以上を含む;第2の依存関係制御クラスは、PCステータスバーウィンドウ制御クラス、画面制御クラス、ロック画面制御クラス、及びリモート制御クラスの1つ以上を含む;第4のUI制御クラスは、PCステータスバーウィンドウビュー、PC通知パネルビュー、PCクイック設定フラグメント、PCステータスバーフラグメント、及びPCステータスバービューの1つ以上を含む。
実装では、第2のモジュールに関連付けられた表示領域のIDは、第2の表示領域のIDである;第1のユーザ操作に応答して、第1の電子デバイスは、第2のデスクトップを実行するために、第1のアプリケーションの第2のモジュールを呼び出し、第2のデスクトップは、第2の表示領域に関連付けられることは次のことを含む:第1のユーザ操作に応答して、PC管理サービスは、モード切り替え命令を受信し、命令は、現在の非投影モードを投影モードに切り替えるように命令し;命令に応答して、PC管理サービスはPCデスクトップサービスを呼び出し、PCデスクトップサービスはアクティビティ管理サービスを呼び出し、アクティビティ管理サービスは第1のアプリケーションの第2のモジュールを起動するためにアクティビティタスクマネージャを呼び出す;ルートアクティビティコンテナが、第2のモジュールに関連付けられた表示領域のIDを決定するために呼び出される;第2のモジュールに関連付けられた表示領域のIDが第2の表示領域のIDであるとき、第2のデスクトップのアクティビティが照会され(queried)、起動されることになるデスクトップ(to-be-launched desktop)のアクティビティとして使用される、又は、第2のモジュールに関連付けられた表示領域のIDが第1の表示領域のIDであるとき、第1のデスクトップのアクティビティが照会され、起動されることになるデスクトップのアクティビティとして使用される;アクティビティスタートコントローラが第2のデスクトップを起動するためにアクティビティスターターを呼び出す。
実装では、第1のユーザ操作に応答して、第1の電子デバイスが第2のステータスバーを実行するために第2のアプリケーションの第4のモジュールを呼び出し、第2のステータスバーは第2の表示領域に関連付けられることは次のことを含む:第1のユーザ操作に応答して、PC管理サービスがモード切り替え命令を受信し、命令は、現在の非投影モードを投影モードに切り替えるように命令する;命令に応答して、PC管理サービスは生産性サービスを開始し、生産性サービスは第2のステータスバーを開始するためにシステムバーを呼び出し、システムバーは構成ファイルに基づいて第2のステータスバーを作成する;第2のステータスバーは、第2のステータスバーにコールバックを追加するためにコマンドキューのコールバックインターフェースを呼び出す;第2のステータスバーは、レイアウトを初期化し、第2のステータスバーに対応するIstatusBarオブジェクト(IstatusBar object)をステータスバー管理サービスに登録する;第2のステータスバーはPCステータスバーウィンドウビューを作成し、PCステータスバーウィンドウビューをステータスバーウィンドウ制御クラスに追加する;ステータスバーウィンドウ制御クラスは、第2の表示領域に第2のステータスバーを追加するように、第2のステータスバーをウィンドウ管理サービスに追加するためにウィンドウ管理インターフェースを呼び出す。
実装において、非投影モードでは、コマンドキューは第1の表示領域に関連付けられた第1のステータスバーをサポートする;投影モードでは、コマンドキューは第1の表示領域に関連付けられた第1のステータスバーと第2の表示領域に関連付けられた第2のステータスバーの両方をサポートする。
第2の態様によれば、本出願は、1つ以上のプロセッサ及び1つ以上のメモリを含む電子デバイスを提供する。1つ以上のメモリは、1つ以上のプロセッサに結合される。1つ以上のメモリは、コンピュータプログラムコードを格納するように構成され、コンピュータプログラムコードは、コンピュータ命令を含む。1つ以上のプロセッサがコンピュータ命令を実行するとき、電子デバイスは、上述の態様のいずれか1つの可能な実装のいずれか1つに従って、画面投影方法を実行することが可能にされる。
第3の態様によれば、本出願の一実施形態は、コンピュータ命令を含むコンピュータ記憶媒体を提供する。コンピュータ命令が電子デバイス上で実行されるとき、電子デバイスは、上述の態様のいずれか1つの可能な実装のいずれか1つに従って画面投影方法を実行することを可能にされる。
第4の態様によれば、本出願の一実施形態は、コンピュータプログラム製品を提供する。コンピュータプログラム製品がコンピュータ上で実行されるとき、コンピュータは、上述の態様のいずれか1つの可能な実装のいずれか1つに従った画面投影方法を実行することが可能にされる。
本出願の一実施形態による通信システムの概略図である。
本出願の一実施形態による電子デバイスの構造の概略図である。
本出願の一実施形態による電子デバイス間の画面投影の概略図である。
本出願の一実施形態によるホーム画面の概略図である。
本出願の一実施形態によるNFCを用いた画面投影を実装するためのユーザインターフェースの概略図である。
本出願の一実施形態によるNFCを用いた画面投影を実装するためのユーザインターフェースの概略図である。
本出願の一実施形態によるNFCを用いた画面投影を実装するためのユーザインターフェースの概略図である。
本出願の一実施形態によるNFCを用いた画面投影を実装するためのユーザインターフェースの概略図である。
本出願の一実施形態によるNFCを用いた画面投影を実装するためのユーザインターフェースの概略図である。
本出願の一実施形態によるNFCを用いた画面投影を実装するためのユーザインターフェースの概略図である。
本出願の一実施形態による拡張画面(extended-screen)ステータスバーの第2レベルインターフェースの概略図である。
本出願の一実施形態による拡張画面ステータスバーの第2レベルインターフェースの概略図である。
本出願の一実施形態による拡張画面ステータスバーの第2レベルインターフェースの概略図である。
本出願の一実施形態による拡張画面ステータスバーの第2レベルインターフェースの概略図である。
本出願の一実施形態による拡張画面ステータスバーの第2レベルインターフェースの概略図である。
本出願の一実施形態による拡張画面ステータスバーの第2レベルインターフェースの概略図である。
本出願の一実施形態による拡張画面ステータスバーの第2レベルインターフェースの概略図である。
本出願の一実施形態による拡張画面ステータスバーの第2レベルインターフェースの概略図である。
本出願の一実施形態による拡張画面ステータスバーの概略図である。
本出願の一実施形態による拡張画面検索バーのユーザインターフェースの概略図である。
本出願の一実施形態による拡張画面検索バーのユーザインターフェースの概略図である。
本出願の一実施形態によるアプリケーションアイコンリストのユーザインターフェースの概略図である。
本出願の一実施形態によるアプリケーションアイコンリストのユーザインターフェースの概略図である。
本出願の一実施形態によるアプリケーションアイコンリストのユーザインターフェースの概略図である。
本出願の一実施形態によるアプリケーションアイコンリストのユーザインターフェースの概略図である。
本出願の一実施形態による拡張画面デスクトップ上のギャラリーのユーザインターフェースの概略図である。
本出願の一実施形態による拡張画面デスクトップ上の音楽のユーザインターフェースの概略図である。
本出願の一実施形態による最近のタスク画面の概略図である。
本出願の一実施形態による最近のタスク画面の概略図である。
本出願の一実施形態による最近のタスク画面の概略図である。
本出願の一実施形態による最近のタスク画面の概略図である。
本出願の一実施形態によるデスクトップアイコンを表示するための関連するユーザインターフェースの概略図である。
本出願の一実施形態によるデスクトップアイコンを表示するための関連するユーザインターフェースの概略図である。
本出願の一実施形態による拡張画面デスクトップ上のアプリケーションのユーザインターフェースの概略図である。
本出願の一実施形態による拡張画面デスクトップ上のアプリケーションのユーザインターフェースの概略図である。
本出願の一実施形態による拡張画面デスクトップ上のアプリケーションのユーザインターフェースの概略図である。
本出願の一実施形態によるドックバー(Dock bar)内のアプリケーションアイコンの関連ユーザインターフェースの概略図である。
本出願の一実施形態によるドックバー(Dock bar)内のアプリケーションアイコンの関連ユーザインターフェースの概略図である。
本出願の一実施形態によるドックバー(Dock bar)内のアプリケーションアイコンの関連ユーザインターフェースの概略図である。
本出願の一実施形態によるロック画面の概略図である。
本出願の一実施形態によるロック画面の概略図である。
本出願の一実施形態によるソフトウェアシステムの概略図である。
本出願の一実施形態によるソフトウェアシステムの概略図である。
本出願の一実施形態によるソフトウェアシステムの概略図である。
本出願の一実施形態によるソフトウェアシステムの概略図である。
本出願の一実施形態によるソフトウェアシステムの概略図である。
本出願の一実施形態によるソフトウェアシステムの概略図である。
本出願の一実施形態によるソフトウェアシステムの概略図である。
本出願の一実施形態によるアクティビティスタックの概略図である。
本出願の一実施形態に係る画面投影方法のソフトウェア実装の概略図である。
本出願の一実施形態に係る画面投影方法のソフトウェア実装の概略図である。
本出願の一実施形態に係る画面投影方法のソフトウェア実装の概略図である。
本出願の一実施形態に係る画面投影方法のソフトウェア実装の概略図である。
本出願の一実施形態に係る画面投影方法のソフトウェア実装の概略図である。
本出願の一実施形態に係る画面投影方法のソフトウェア実装の概略図である。
以下に添付図面を参照して、本出願の実施形態における技術的解決策を明確に説明する。本出願の実施形態の説明において、別段の指定がない限り、「/」は「又は」を示す。例えば、A/BはA又はBを示し得る。本明細書における用語「及び/又は」は、関連するオブジェクトを記述するための関連関係を単に記述し、3つの関係が存在する可能性があることを示す。例えば、A及び/又はBは、次の3つのケースを示し得る:Aのみが存在する、A及びBの両方が存在する、及びBのみが存在する。加えて、本出願の実施形態の説明において、「複数の」は、2つ以上を意味する。
以下の「第1の」及び「第2の」という用語は、単に説明の目的のために意図されたものであり、相対的重要性の表示若しくは含意又は示された技術的特徴の量の暗黙的表示として理解されないものとする。したがって、「第1の」又は「第2の」によって限定される特徴は、明示的又は暗黙的に1つ以上の特徴を含むことができる。本出願の実施形態の説明においては、別段の指定がない限り、「複数の」は、2つ以上を意味する。
次に、本出願の一実施形態による通信システム10について説明する。
例えば、図1Aは、本出願の実施形態による通信システム10の構成を示す概略図である。図1Aに示すように、通信システム10は、電子デバイス100と、電子デバイス100に接続された1つ以上の電子デバイス、例えば、電子デバイス200とを含む。
本出願の本実施形態では、電子デバイス100は、近距離無線通信接続又はローカル有線接続を介して電子デバイス200に直接接続され得る。例えば、電子デバイス100及び電子デバイス200は、それぞれ、近距離無線通信(near field communication、NFC)通信モジュール、ワイファイ(wireless fidelity、Wi-Fi(登録商標))通信モジュール、超広帯域(ultra wideband、UWB)通信モジュール、ブルートゥース(登録商標)(Bluetooth(登録商標))通信モジュール、ZigBee(登録商標)通信モジュール等の通信モジュールのうち、1つ以上の近距離無線通信モジュールを有し得る。例として、電子デバイス100を用いる。電子デバイス100は、近距離無線通信モジュール(例えば、NFC通信モジュール)を介して信号を送信することにより、電子デバイス100の近くの電子デバイスを検出及びスキャンし得るの、電子デバイス100は、近距離無線通信プロトコルを介して近くの電子デバイス(例えば、電子デバイス200)を検出し、近くの電子デバイスとの無線通信接続を確立し、近くの電子デバイスにデータを送信することができる。
いくつかの実施形態では、電子デバイス100及び電子デバイス200は、有線接続又はWi-Fi接続に基づいて、電子デバイス300を介してローカルエリアネットワークlocal area network、LAN)に接続し得る。例えば、電子デバイス300は、ルータ、ゲートウェイ、又はインテリジェントデバイスコントローラなどのサードパーティデバイスであり得る。いくつかの実施形態では、電子デバイス100と電子デバイス200は、広域ネットワーク(例えば、ファーウェイクラウドネットワーク)内の少なくとも1つの電子デバイス400を介して間接的に接続され得る。例えば、電子デバイス400は、ハードウェアサーバであってもよいし、仮想化環境に組み込まれたクラウドサーバであってもよい。電子デバイス300及び/又は電子デバイス400を介して、電子デバイス100は電子デバイス200との無線通信接続及びデータ送信を間接的に実行し得ることが理解できる。
本実施形態に示された構造は、通信システム10に対する特定の限定を構成しないことが理解できる。本出願の他のいくつかの実施形態では、通信システム10は、図に示されたものより多い又は少ないデバイスを含み得る。
本出願の本実施形態では、電子デバイス100が電子デバイス200との接続を確立した後、電子デバイス100は、投影された画像データ、オーディオデータ及び/又はこれらに類するものを電子デバイス200に送信し得;電子デバイス200は、電子デバイス100から送信されたデータに基づいて、インターフェース表示及び/又はオーディオ出力を実行し得る。
本出願の本実施形態では、電子デバイス200と電子デバイス100の表示画面の画面解像度が異なっていてもよい。電子デバイス100は、携帯電話、パッドコンピュータ、携帯情報端末(personal digital assistant、PDA)、ウェアラブルデバイス、又はラップトップコンピュータ(ラップトップ)などの携帯型電子デバイスであり得る。オプションで、電子デバイス100は、携帯型電子デバイス以外の別の電子デバイスであってもよい。これは、本出願の本実施形態においては限定されない。電子デバイス200は、スマートスクリーン、テレビ、パッドコンピュータ、ノートブックコンピュータ、車載デバイス、又はプロジェクタなどの任意の表示デバイスであり得る。電子デバイス100及び電子デバイス200の例示的な実施形態は、iOS(登録商標)、Android(登録商標)、Microsoft(登録商標)、又は別のオペレーティングシステムを搭載することを含むが、これらに限定されない。
次に、本出願の一実施形態による電子デバイスのハードウェア構造について説明する。
図1B参照。例えば、図1Bは、本出願の一実施形態による電子デバイス100の構造の概略図を示す。本出願の本実施形態では、電子デバイス200のハードウェア構造については、電子デバイス100のハードウェア構造に関する実施形態を参照されたい。詳細はここでは再度説明しない。
電子デバイス100は、プロセッサ110、外部メモリインターフェース120、内部メモリ121、ユニバーサルシリアルバス(universal serial bus、USB)ポート130、充電管理モジュール140、電力管理モジュール141、バッテリ142、アンテナ1、アンテナ2、モバイル通信モジュール150、無線通信モジュール160、オーディオモジュール170、スピーカ170A、レシーバ(receiver)170B、マイクロホン170C、ヘッドセットジャック170D、センサモジュール180、ボタン190、モータ191、インジケータ192、カメラ193、表示画面194、加入者識別モジュール(subscriber identity module、SIM)カードインターフェース195などを含み得る。センサモジュール180は、圧力センサ180A、ジャイロセンサ180B、気圧センサ180C、磁気センサ180D、加速度センサ180E、距離センサ180F、光学式近接センサ180G、指紋センサ180H、温度センサ180J、タッチセンサ180K、環境光センサ180L、骨伝導センサ180Mなどを含み得る。
なお、本発明の本実施形態に示した構成は、電子デバイス100に対する特定の限定を構成するものではない。本出願のいくつかの他の実施形態では、電子デバイス100は、図に示したよりも多い又は少ないコンポーネントを含んでもよく、いくつかのコンポーネントを結合してもよく、いくつかのコンポーネントを分割してもよく、又は異なるコンポーネント配置を有してもよい。図示されたコンポーネントは、ハードウェア、ソフトウェア又はソフトウェアとハードウェアの組合せによって実現され得る。
プロセッサ110は、1つ以上の処理ユニットを含み得る。例えば、プロセッサ110は、アプリケーションプロセッサ(application processor、AP)、モデムプロセッサ、グラフィックス処理ユニット(graphics processing unit、GPU)、画像信号プロセッサ(image signal processor、ISP)、コントローラ、メモリ、ビデオコーデック、デジタル信号プロセッサ(digital signal processor、DSP)、ベースバンドプロセッサ、ニューラルネットワーク処理ユニット(neural-network processing unit、NPU)等を含み得る。異なる処理ユニットは、独立したコンポーネントであってもよく、又は、1つ以上のプロセッサに統合されてもよい。
コントローラは、電子デバイス100の神経中枢(nerve center)及び指令センターであり得る。コントローラは、命令動作コード(instruction operation code)及び時系列信号に基づいて、命令フェッチ及び命令実行を制御するための動作制御信号を生成し得る。
プロセッサ110は、命令及びデータを格納するためのメモリをさらに備え得る。いくつかの実施形態では、プロセッサ110のメモリはキャッシュメモリである。メモリは、プロセッサ110によって使用されたばかりの又は繰り返し使用される命令又はデータを格納し得る。プロセッサ110が命令又はデータを再び使用する必要がある場合、プロセッサ110は、メモリから命令又はデータを直接呼び出し得る。これにより、繰り返しアクセスが回避され、プロセッサ110の待ち時間が短縮され、システム効率が向上する。
いくつかの実施形態では、プロセッサ110は、1つ以上のインターフェースを含み得る。インターフェースは、集積回路間(inter-integrated circuit、I2C)インターフェース、集積回路間サウンド(inter-integrated circuit sound、I2S)インターフェース、パルス符号変調(pulse code modulation、PCM)インターフェース、汎用非同期受信機/送信機(universal asynchronous receiver/transmitter、UART)インターフェース、モバイルインダストリープロセッサインターフェース(mobile industry processor interface、MIPI)、汎用入出力(general-purpose input/output、GPIO)インターフェース、加入者識別モジュール(subscriber identity module、SIM)インターフェース、ユニバーサルシリアルバス(universal serial bus、USB)ポート、及び/又は類似のものを含み得る。
充電管理モジュール140は、充電器から充電入力を受け取るように構成される。充電器は、ワイヤレス充電器又は有線充電器であり得る。有線充電のいくつかの実施形態では、充電管理モジュール140は、USBポート130を介して有線充電器から充電入力を受け取り得る。無線充電のいくつかの実施形態では、充電管理モジュール140は、電子デバイス100の無線充電コイルを介して無線充電入力を受け取り得る。充電管理モジュール140は、バッテリ142を充電しながら、電力管理モジュール141を介して電子デバイスに電力を供給する。
電力管理モジュール141は、バッテリ142、充電管理モジュール140、及びプロセッサ110に接続するように構成される。電力管理モジュール141は、バッテリ142及び/又は充電管理モジュール140からの入力を受け取り;プロセッサ110、内部メモリ121、表示画面194、カメラ193、無線通信モジュール160などに電力を供給する。電力管理モジュール141は、バッテリ容量、バッテリサイクル数、及びバッテリの健康状態(漏電及びインピーダンス)などのパラメータを監視するようにさらに構成され得る。他のいくつかの実施形態では、電力管理モジュール141は、代替的にプロセッサ110内に配置され得る。他のいくつかの実施形態では、電力管理モジュール141及び充電管理モジュール140は、代替的に同じコンポーネント内に配置され得る。
電子デバイス100の無線通信機能は、アンテナ1、アンテナ2、モバイル通信モジュール150、無線通信モジュール160、モデムプロセッサ、ベースバンドプロセッサなどを介して実装され得る。
アンテナ1及びアンテナ2は、電磁波信号を送受信するように構成される。電子デバイス100内の各アンテナは、1つ以上の通信周波数帯域をカバーするように構成され得る。異なるアンテナが、アンテナ利用率を改善するために多重化されてもよい。例えば、アンテナ1は、無線ローカルエリアネットワークにおけるダイバーシティアンテナとして多重化されてもよい。他のいくつかの実施形態では、アンテナは、チューニングスイッチと組み合わせて使用されてもよい。
モバイル通信モジュール150は、2G/3G/4G/5Gなどを含み、電子デバイス100に適用される無線通信ソリューションを提供し得る。モバイル通信モジュール150は、少なくとも1つのフィルタ、スイッチ、電力増幅器、低雑音増幅器(low noise amplifier、LNA)などを含み得る。モバイル通信モジュール150は、アンテナ1を介して電磁波を受信し、受信した電磁波に対してフィルタリング、増幅、及び他の処理を実行し、処理された電磁波をモデムプロセッサに復調のために送信し得る。モバイル通信モジュール150は、モデムプロセッサによって変調された信号をさらに増幅し得、これは、アンテナ1を介して放射のために電磁波に変換される。いくつかの実施形態では、モバイル通信モジュール150の機能モジュールの少なくともいくつかは、プロセッサ110内に配置され得る。いくつかの実施形態では、モバイル通信モジュール150の機能モジュールの少なくともいくつか及びプロセッサ110のモジュールの少なくともいくつかは、同じコンポーネント内に配置され得る。
モデムプロセッサは、変調器及び復調器を含み得る。変調器は、送信される低周波ベースバンド信号を中高周波信号に変調するように構成される。復調器は、低周波ベースバンド信号を得るために受信した電磁波信号を復調するように構成される。次いで、復調器は、復調によって得られた低周波ベースバンド信号を処理のためにベースバンドプロセッサに転送する。低周波ベースバンド信号は、ベースバンドプロセッサによって処理された後、アプリケーションプロセッサに転送される。アプリケーションプロセッサは、オーディオデバイス(スピーカ170A、レシーバ170B等に限定されない)を介して音声信号を出力する、又は表示画面194を介して画像又はビデオを表示する。いくつかの実施形態では、モデムプロセッサは独立したコンポーネントであり得る。いくつかの他の実施形態では、モデムプロセッサはプロセッサ110から独立していてもよく、モバイル通信モジュール150又は他の機能モジュールとともに、同じコンポーネント内に配置されていてもよい。
無線通信モジュール160は、電子デバイス100に適用され、無線ローカルエリアネットワーク(wireless local area network、WLAN)(例えば、ワイファイ(wireless fidelity、Wi-Fi)ネットワーク)、ブルートゥース(Bluetooth、BT)、全地球航法衛星システム(global navigation satellite system、GNSS)、周波数変調(frequency modulation、FM)、近距離無線通信(near field communication、NFC)技術、赤外線(infrared、IR)技術などを含む無線通信ソリューションを提供し得る。無線通信モジュール160は、少なくとも1つの通信処理モジュールを統合する1つ以上のコンポーネントであり得る。無線通信モジュール160は、アンテナ2を介して電磁波を受信し、電磁波信号に対して周波数変調及びフィルタリングを行い、処理された信号をプロセッサ110に送信する。無線通信モジュール160はさらに、プロセッサ110から送信すべき信号を受信し、その信号に対して周波数変調及び増幅を行い、処理された信号をアンテナ2を介して放射のために電磁波に変換し得る。
いくつかの実施形態では、電子デバイス100において、アンテナ1はモバイル通信モジュール150に結合され、アンテナ2は無線通信モジュール160に結合され、電子デバイス100が無線通信技術を使用してネットワーク及び他のデバイスと通信できるようにする。無線通信技術は、モバイル通信用グローバルシステム(global system for mobile communications、GSM)、一般パケット無線サービス(general packet radio service、GPRS)、符号分割多元接続(code division multiple access、CDMA)、広帯域符号分割多元接続(wideband code division multiple access、WCDMA)、時分割符号分割多元接続(time-division code division multiple access、TD-SCDMA)、ロングタームエボリューション(long term evolution、LTE)、BT、GNSS、WLAN、NFC、FM、IR及び/又は類似のものを含み得る。GNSSは、全地球測位システム(global positioning system、GPS)、全地球航法衛星システム(global navigation satellite system、GLONASS)、北斗航法衛星システム(BeiDou navigation satellite system、BDS)、準天頂衛星システム(quasi-zenith satellite system、QZSS)、及び/又は衛星ベースの増強システム(satellite based augmentation system、SBAS)を含み得る。
電子デバイス100は、GPU、表示画面194、アプリケーションプロセッサなどを介して表示機能を実装する。GPUは、画像処理用のマイクロプロセッサであり、表示画面194及びアプリケーションプロセッサに接続される。GPUは、グラフィックレンダリングのための数学的及び幾何学的計算を実行するように構成される。プロセッサ110は、表示情報を生成又は変更するためにプログラム命令を実行する1つ以上のGPUを含み得る。
表示画面194は、画像、ビデオなどを表示するように構成される。表示画面194は、表示パネルを含む。表示パネルは、液晶ディスプレイ(liquid crystal display、LCD)、有機発光ダイオード(organic light-emitting diode、OLEL)、アクティブマトリクス有機発光ダイオード(active-matrix organic light-emitting diode、AMOLED)、フレキシブル発光ダイオード(flex light-emitting diode、FLED)、ミニLED、マイクロLED、マイクロOLED、量子ドット発光ダイオード(quantum dot light-emitting diode、QLED)などを使用し得る。いくつかの実施形態では、電子デバイス100は、1つの表示画面194又はN個の表示画面194を含み得、Nは1より大きい正の整数である。
電子デバイス100は、ISP、カメラ193、ビデオコーデック、GPU、表示画面194、アプリケーションプロセッサなどを介して撮影機能を実装することができる。
ISPは、カメラ193によってフィードバックされたデータを処理するように構成される。例えば、撮影中、シャッターが押され、光がレンズを通ってカメラの感光素子に伝達され、光信号が電気信号に変換され、カメラの感光素子が電気信号をISPに処理のために送信して、電気信号を可視画像に変換する。ISPはさらに、画像のノイズ、明るさ、色(complexion)についてアルゴリズムの最適化を実行し得る。ISPはさらに、撮影シナリオの露出及び色温度などのパラメータを最適化し得る。いくつかの実施形態では、ISPはカメラ193内に配置され得る。
カメラ193は、静止画像又はビデオをキャプチャするように構成される。物体の光学像がレンズを介して生成され、感光素子に投影される。感光素子は、電荷結合素子(charge-coupled device、CCD)又は相補型金属酸化物半導体(complementary metal-oxide-semiconductor、CMOS)フォトトランジスタであり得る。感光素子は、光信号を電気信号に変換し、次に電気信号をISPに送信し、ISPは電気信号をデジタル画像信号に変換する。ISPは、デジタル画像信号を処理のためにDSPに出力する。DSPは、デジタル画像信号をRGBやYUVなどの標準フォーマットの画像信号に変換する。いくつかの実施形態では、電子デバイス100は、1つのカメラ193又はN個のカメラ193を含み得、Nは1より大きい正の整数である。
デジタル信号プロセッサは、デジタル信号を処理するように構成され、デジタル画像信号に加えて別のデジタル信号を処理し得る。例えば、電子デバイス100が周波数を選択すると、デジタル信号プロセッサは、周波数エネルギーに対してフーリエ変換を実行するように構成される。
ビデオコーデックは、デジタルビデオを圧縮又は解凍するように構成される。電子デバイス100は、1つ以上のタイプのビデオコーデックをサポートし得る。したがって、電子デバイス100は、複数のエンコードフォーマット、例えば、MPEG(moving picture experts group、MPEG)-1、MPEG-2、MPEG-3及びMPEG-4でビデオを再生又は記録し得る。
NPUはニューラルネットワーク(neural network、NN)コンピューティングプロセッサである。生体ニューラルネットワークの構造を参照して、例えばヒトの脳ニューロン間の伝達パターンを参照して、NPUは、入力情報を迅速に処理し、連続的に自己学習を行うことができる。電子デバイス100の知的認識、例えば、画像認識、顔認識、音声認識及びテキスト理解のようなアプリケーションがNPUを介して実装され得る。
内部メモリ121は、1つ以上のランダムアクセスメモリ(random access memory、RAM)及び1つ以上の不揮発性メモリ(non-volatile memory、NVM)を含み得る。ランダムアクセスメモリは、スタティックランダムアクセスメモリ(static random access memory、SRAM)、ダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM)、シンクロナスダイナミックランダムアクセスメモリ(synchronous dynamic random access memory、SDRAM)、ダブルデータレートシンクロナスダイナミックランダムアクセスメモリ(double data rate synchronous dynamic random access memory、例えば、第5世代DDR SDRAMは、一般にDDR5 SDRAMと呼ばれる)等を含み得る。不揮発性メモリは、磁気ディスク記憶装置及びフラッシュメモリ(flash memory)を含み得る。フラッシュメモリは、動作原理に基づいて、NORフラッシュ、NANDフラッシュ、3D NANDフラッシュなどに分割され得る;又は、ストレージレベルに基づいて、シングルレベルセル(single-level cell、SLC)、マルチレベルセル(multi-level cell、MLC)、トリプルレベルセル(triple-level cell,、TLC)、クアッドレベルセル(quad-level cell、QLC)などに分割され得る;又は、ストレージ仕様に基づいて、ユニバーサルフラッシュストレージ(英語:universal flash storage、UFS)、埋め込みマルチメディアストレージカード(embedded multimedia card、eMMC)などに分割され得る。いくつかの実施形態では、ランダムアクセスメモリは、プロセッサ110によって直接読み書きされ得、オペレーティングシステム又は他の実行中のプログラムの実行可能プログラム(例えば、機械命令)を記憶するように構成され得る、又は、ユーザのデータ及びアプリケーションのデータなどを記憶するように構成され得る。不揮発性メモリはまた、実行可能プログラム、ユーザのデータ及びアプリケーションのデータなどを記憶し得;プロセッサ110が直接読み書きを行うために、あらかじめランダムアクセスメモリにロードされ得る。
外部メモリインターフェース120は、電子デバイス100のストレージ容量を拡張するために、外部不揮発性メモリに接続するように構成され得る。外部不揮発性メモリは、データ記憶機能を実現するために、外部メモリインターフェース120を介してプロセッサ110と通信する。例えば、音楽及びビデオなどのファイルが外部不揮発性メモリに記憶される。
電子デバイス100は、オーディオモジュール170、スピーカ170A、レシーバ170B、マイクロホン170C、ヘッドセットジャック170D、アプリケーションプロセッサなどを介して、音楽再生及び録音などのオーディオ機能を実装し得る。
オーディオモジュール170は、デジタルオーディオ情報を出力のためにアナログオーディオ信号に変換するように構成され、またアナログオーディオ入力をデジタルオーディオ信号に変換するように構成される。オーディオモジュール170はさらに、オーディオ信号をエンコード及びデコードするように構成され得る。
スピーカ170Aは、「ラウドスピーカ」とも呼ばれ、電気オーディオ信号をサウンド信号に変換するように構成される。
レシーバ170Bは、「イヤーピース」とも呼ばれ、電気オーディオ信号をサウンド信号に変換するように構成される。
マイクロホン170Cは、「マイクロホン」又は「マイク」とも呼ばれ、サウンド信号を電気信号に変換するように構成される。
圧力センサ180Aは、圧力信号を感知し、圧力信号を電気信号に変換するように構成される。タッチ操作が表示画面194に対して行われると、電子デバイス100は、圧力センサ180Aに基づいてタッチ操作の強度を検出する。電子デバイス100は、圧力センサ180Aの検出信号に基づいてタッチ位置の計算を実行し得る。
ジャイロスコープセンサ180Bは、電子デバイス100の動作姿勢を決定するように構成され得る。
気圧センサ180Cは、気圧を測定するように構成され得る。磁気センサ180Dは、ホールセンサを含む。
加速度センサ180Eは、電子デバイス100の様々な方向(例えば、電子デバイス100の三軸座標系における三軸、すなわちx軸、y軸、z軸によって指される方向)の加速度を検出し得る。
距離センサ180Fは、距離を測定するように構成される。電子デバイス100は、赤外線方式で距離を測定してもよいし、レーザ方式で距離を測定してもよい。
光学式近接センサ180Gは、例えば、発光ダイオード(LED)、及びフォトダイオードのような光検出器を含み得る。
環境光センサ180Lは、環境光の輝度を検出するように構成される。電子デバイス100は、検出された環境光の輝度に基づいて、表示画面194の輝度を適応的に調整し得る。
指紋センサ180Hは、指紋を収集するように構成される。
温度センサ180Jは、温度を測定するように構成される。
タッチセンサ180Kは、「タッチコンポーネント」とも呼ばれる。タッチセンサ180Kは、表示画面194内に配置され得、タッチセンサ180K及び表示画面194は、「タッチパネル」とも呼ばれるタッチスクリーンを形成する。タッチセンサ180Kは、タッチセンサ180K上又はその近くで行われるタッチ操作を検出するように構成される。タッチセンサは、タッチイベントのタイプを決定するために、検出されたタッチ操作をアプリケーションプロセッサに伝送し得る。タッチ操作に関連する視覚出力が、表示画面194を介して提供され得る。他のいくつかの実施形態では、タッチセンサ180Kは、代替的に、電子デバイス100の表面上及び表示画面194のそれとは異なる位置に配置され得る。
骨伝導センサ180Mは、振動信号を取得し得る。いくつかの実施形態では、骨伝導センサ180Mは、人間の声を発する部分の振動する骨ブロックの振動信号及び血圧拍動信号を取得し得る。
ボタン190は、機械ボタン又はタッチボタンであり得る。電子デバイス100は、キー入力を受け、電子デバイス100のユーザ設定及び機能制御に関連するキー信号入力を生成し得る。
以下、本出願の一実施形態による電子デバイス100と電子デバイス200との間の画面投影の実装について簡単に説明する。
画面投影の実装では、電子デバイス100のデスクトップが電子デバイス200に投影された後、電子デバイス200は、電子デバイス100の拡張画面デスクトップをフルスクリーン(全画面)で表示する。電子デバイス100が電子デバイス200に投影する拡張画面デスクトップが、電子デバイス200の画面解像度と電子デバイス200上のユーザの操作習慣の両方に適応することを可能にするために、拡張画面デスクトップは、通常、電子デバイス100の標準デスクトップのアンドロイドアプリケーションパッケージ(Android application package、APK)とは異なるカスタマイズされたAPKを使用する。言い換えると、電子デバイス100は、カスタマイズされたAPKを使用して、電子デバイス100のデスクトップ及び電子デバイス100のステータスバーを模擬的な方法(simulated manner)で電子デバイス200に表示する。この実装では、電子デバイス200によって表示される拡張画面デスクトップ及び電子デバイス100の標準デスクトップは、異なるソースからのものであり、ユーザは、拡張画面デスクトップと標準デスクトップを統一的な方法で維持することができない。したがって、電子デバイス200に投影されるデスクトップ(つまり、拡張画面デスクトップ)及びステータスバー(つまり、拡張画面ステータスバー)は、電子デバイス100の標準デスクトップのユーザ体験(User Experience、UX)スタイル(例えば、テーマ、壁紙、ロック画面)に従うことができず;電子デバイス100の標準デスクトップ及び標準ステータスバーの機能的特徴(例えば、通知センター、クイック設定、フォルダ、及びFAの機能的特徴)を継承することができない。さらに、必要なデータ同期(例えば、通知メッセージの管理)を維持することができない。
本出願の本実施形態で提供される他の画面投影実装では、電子デバイス100は、異なる表示領域(ディスプレイ(Display))における複数のデスクトップインスタンスを同時に実行するデスクトップランチャー(ランチャー(Launcher))をサポートし、複数のステータスバーインスタンスを同時に実行するシステムインターフェース(SystemUI(システムUI))をサポートし、ステータスバーインスタンスとデスクトップインスタンス間の対応を維持し得る。本出願の本実施形態では、デスクトップランチャーはデスクトップアプリケーションと呼ぶこともできる。
例えば、図2は、本出願の一実施形態による電子デバイス100と電子デバイス200との間の投影通信の概略図である。図2に示すように、電子デバイス100に設定される物理的な表示画面は、電子デバイス100のデフォルト画面であり、電子デバイス100は、デフォルト画面の表示領域(つまり、Display0(ディスプレイ0))で標準デスクトップと標準ステータスバーを実行し、Display0で実行されるアプリケーションウィンドウに対応する表示領域ID(ディスプレイIDドキュメント、ディスプレイID)は、Display0のID(IDドキュメント、ID)である。電子デバイス100は、Display0で実行されるアプリケーションウィンドウに基づいて、標準デスクトップと標準ステータスバーをデフォルト画面に表示する。
投影指示に基づいて、投影先デバイスが電子デバイス200であることを決定した後、電子デバイス100は、電子デバイス200に設定された表示画面を携帯電話100の拡張画面として使用し、拡張画面用の拡張画面表示領域(Display1(ディスプレイ1))を作成する。電子デバイス100は、Display1において拡張画面デスクトップ及び拡張画面ステータスバーを実行し、Display1において実行されるアプリケーションウィンドウに対応するディスプレイIDは、Display1のIDである。拡張画面デスクトップ及び標準デスクトップは、同じランチャーによって作成及び実行される2つのデスクトップインスタンスである。拡張画面ステータスバー及び標準ステータスバーは、同じシステムUIによって作成及び実行されるステータスバーインスタンスである。電子デバイス100は、Display1で実行されるアプリケーションウィンドウに基づいて、拡張画面の表示コンテンツを決定し、拡張画面の表示コンテンツを電子デバイス200に投影し得;電子デバイス200は、電子デバイス100によって送信された投影データに基づいて、拡張画面デスクトップ及び拡張画面ステータスバーを表示し得る。
いくつかの実施形態では、電子デバイス200への接続が確立された後、電子デバイス100は、電子デバイス200のモデル及び画面解像度などの電子デバイス200のデバイス情報を取得し得る。Display1における電子デバイス100によって実行されるアプリケーションウィンドウは、電子デバイス200に適用可能であり、電子デバイス100の元のアプリケーションウィンドウ上で、電子デバイス200のモデル及び画面解像度などの電子デバイス200のデバイス情報に基づいて、インターフェース最適化及び機能最適化が実行された後に取得される、アプリケーションウィンドウである。インターフェース最適化は:アプリケーションウィンドウの表示サイズを変更すること、及び、アプリケーションウィンドウにおける各インターフェース要素の表示サイズ及びインターフェースレイアウトを変更することを含む。機能最適化は:電子デバイス100の元のアプリケーションウィンドウでは利用できない機能を追加すること、及び、電子デバイス200上のユーザの操作習慣に適応させるために、電子デバイス200に適用できない電子デバイス100のいくつかの元の機能を遮蔽することを含む。
図2を参照。ランチャーは、異なるディスプレイで2つのデスクトップインスタンスを実行するため、2つのデスクトップインスタンス間のデータ分離を実装できる。加えて、2つのデスクトップインスタンスは同じデスクトップランチャーAPKから生成されるため、2つのデスクトップインスタンスのデータ同期操作を実装できる。例えば、電子デバイス100の拡張画面のテーマ、壁紙、ロック画面は、すべて電子デバイス100のデフォルト画面に従う。本出願の本実施形態では、複数のステータスバーインスタンスを同時に実行してもよく、各ステータスバーインスタンスのデータチャネルは維持される。各ステータスバーインスタンスは、異なるディスプレイに関連付けられており、異なるディスプレイのステータスバーイベントを互いに分離でき、互いに影響しないことを確実にする。結論として、本出願の本実施形態によれば、デスクトップ及びステータスバーはディスプレイ全体で実行でき、異なるディスプレイ間のデータ同期を維持できる。
なお、本出願の本実施形態では、アプリケーションウィンドウは、アンドロイドシステムのアクティビティ(Activity)に対応するウィンドウオブジェクトであってもよく、又は、iOSシステムのアプリケーションウィンドウであってもよく、又は他のオペレーティングシステムのアプリケーションウィンドウであってもよい。これは、本明細書において特に限定されるものではない。1つのアプリケーションは、複数のアプリケーションウィンドウを含み、1つのアプリケーションウィンドウは、通常、1つのユーザインターフェース(User Interface、UI)に対応する。オプションで、1つのアプリケーションウィンドウは代替的に複数のユーザインターフェースに対応し得る。説明を容易にするために、本出願の本実施形態では、アプリケーションウィンドウを略してウィンドウと呼ぶこともある。
アンドロイドシステムにおけるアクティビティは、ユーザとアプリケーションとの間の対話のためのインターフェースである。各アクティビティコンポーネントは、特定のアプリケーションウィンドウを記述するために使用されるウィンドウオブジェクトに関連付けられる。アクティビティは高度に抽象化されたユーザインターフェースコンポーネントであり、ユーザインターフェース及びアンドロイドシステムのユーザインターフェースを中心としたと対応するサービスロジックを表し;ユーザによってトリガーされたイベントは、ユーザインターフェースのコントロール(control)を使用して監視及び処理できることがわかる。アンドロイドアプリケーションでは、1つのアクティビティを1つのユーザインターフェースとして表すことができ、1つのアンドロイドアプリケーションが複数のアクティビティを持つことができることが理解できる。
以下では、電子デバイス100が携帯電話であり、電子デバイス200がコンピュータである例を用いて、本出願の一実施形態による画面投影シナリオにおけるユーザインターフェースの例について、添付図面を参照しながら説明する。
以下では、本出願の一実施形態による例示的な携帯電話100のデスクトップアプリケーションのホーム画面11について説明する。
例えば、図3Aは、携帯電話100にインストールされたアプリケーションを提示するために使用される携帯電話100のホーム画面11を示している。ホーム画面11は:標準ステータスバー101、カレンダーインジケータ102、天気インジケータ103、一般的なアプリケーションアイコンを含むトレイ104、及び他のアプリケーションアイコン105を含み得る。
標準ステータスバー101は:モバイル通信信号(セルラー信号とも呼ばれる)の1つ以上の信号強度インジケータ101Aと、オペレータ名(例えば、「China Mobile」)101Bと、ワイファイ(wireless fidelity、Wi-Fi)信号の1つ以上の信号強度インジケータ101Cと、バッテリ状態インジケータ101Dと、時刻インジケータ101Eとを含み得る。
共通のアプリケーションアイコンを含むトレイ104は:電話のアイコン、連絡先のアイコン、メッセージのアイコン、及びカメラのアイコンを示し得る。他のアプリケーションアイコン105は:ファイル管理のアイコン、ギャラリーのアイコン、音楽のアイコン、設定のアイコンなどを示し得る。ホーム画面11は、ページインジケータ106をさらに含み得る。他のアプリケーションアイコンは、複数のページに分散され得、ページインジケータ106は、アプリケーションがユーザによって現在閲覧されている特定のページを示すために使用され得る。ユーザは、他のページのアプリケーションアイコンを閲覧するために、他のアプリケーションアイコンを含む領域を左又は右にスライドし得る。
ホーム画面11は、さらにデスクトップ壁紙107を含み得る。デスクトップ壁紙107は、ユーザによって指定され得る、又は、携帯電話100においてデフォルトで指定され得る。さらに、携帯電話100は、複数のテーマを使用してもよく、携帯電話100は、テーマを切り替えることにより、デスクトップレイアウトスタイル、アイコンの表示スタイル、デスクトップの色を変更し得る。通常、壁紙は、テーマごとにデフォルトで設定される。ユーザは、現在のテーマの下で携帯電話100の壁紙を変更することができる。
図3Aは、携帯電話100上のユーザインターフェースの一例を示しているだけであり、本出願の本実施形態の限定を構成するものではないことが理解できる。
本出願の本実施形態では、携帯電話100は、携帯電話100のデスクトップをコンピュータ200に投影するために、NFC、Wi-Fi、又はBluetoothのような近距離無線通信技術を使用してコンピュータ200との接続を確立し得る。以下では、画面投影がNFCを使用して実装される例を用いて画面投影処理について説明する。
例えば、図3Aに示すように、携帯電話100は、標準ステータスバー101上のユーザによって実行される下方向へのスライド操作を受け;スライド操作に応答して、携帯電話100は、図3Bに示すコントロールセンターインターフェース12を表示する。コントロールセンターインターフェース12は:共通機能のための複数のショートカットアイコン201(例えば、図3Bに示すWLANアイコン、Bluetoothアイコン、NFCアイコン201A、及びマルチスクリーンコラボレーションアイコン)と、明るさ調整バー202と、1つ以上のスマートコラボレーティブデバイス(例えば、ノートブックコンピュータMateBook、パッドMatePad、デスクトップコンピュータDesktop、及びインテリジェント音響デバイスSound X)のアイコン203と、1つ以上のスマートホームデバイスの制御フレーム(例えば、空気清浄機の制御フレーム204及びインテリジェント照明の制御フレーム205)とを含む。
NFCアイコン201Aには2つの状態:選択状態と非選択状態とがある。例えば、図3Bに示すNFCアイコン201Aは非選択状態であり、NFCモジュールは携帯電話100では無効化されており、NFCアイコン201Aはユーザの入力操作(例えば、タッチ操作)を受けることができ;その入力操作に応答して、携帯電話100は図3Cに示すようにNFCアイコン201Aを選択状態に切り替え、NFCモジュールを有効化する。
例えば、図3Dに示すように、携帯電話100のNFCモジュールは携帯電話背面のNFCエリアに配置され、コンピュータ200のNFCモジュールはコンピュータ200の右下隅のNFCエリアに配置される。いくつかの実施形態では、ユーザは、携帯電話100のデスクトップをコンピュータ200に投影するために、携帯電話100のNFCエリアをコンピュータ200のNFCエリアに近づくように配置することによって、携帯電話100とコンピュータ200との間のNFC接続を実装し得る。携帯電話100のNFCエリアは、代替的に携帯電話100の別の部分に配置されてもよく、コンピュータ200のNFCエリアは、代替的にコンピュータ200の別の部分に配置されてもよい。これは本明細書において特に限定されるものではない。
具体的には、ユーザが携帯電話100のNFC領域をコンピュータ200のNFC領域に近づけた後、携帯電話100はコンピュータ200のNFC信号を検出し得、携帯電話100は現在の表示インターフェース上に図3Eに示すプロンプトボックス13を表示する。プロンプトボックス13は、コンピュータ200のモデル301(例えば、MateBook)、プロンプト情報302、接続制御部303、及びキャンセル制御部304を含む。
プロンプト情報は、NFC接続を実装するために接続制御部302をタップするようユーザに促すために使用される;NFC接続が確立された後、ユーザはコンピュータ200上で携帯電話100を操作及び制御し得る。接続制御部303は、ユーザの入力操作(例えば、タッチ操作)を受けることができ;入力操作に応答して、携帯電話100は、NFC接続要求をコンピュータ200に送信する。キャンセル制御部304は、ユーザの入力操作(例えば、タッチ操作)を受けることができ;入力操作に応答して、携帯電話100は、プロンプトボックス13を閉じ得る。
図3Fに示すように、コンピュータ200は、携帯電話100の受信したNFC接続要求に応答して、現在の表示インターフェース(例えば、コンピュータ200のデスクトップ14)上にプロンプトボックス15を表示する。プロンプトボックス15は、プロンプト情報305、接続制御部306、及びキャンセル制御部307を含む。
プロンプト情報305は、携帯電話100がローカルデバイスに接続することを許可するかどうかをユーザに促すために使用される。NFC接続は、接続制御部306をタップすることによって実装され得る。NFC接続が確立された後、ユーザは、コンピュータ200上で携帯電話100を操作し得る。言い換えれば、NFC接続が確立された後、携帯電話100は、携帯電話100のデスクトップをコンピュータ200に投影し、ユーザは、コンピュータ200に表示されたデスクトップを使用して携帯電話100を制御し得る。
接続制御部306は、ユーザの入力操作(例えば、タッチ操作)を受けることができ;入力操作に応答して、コンピュータ200は、携帯電話100にNFC接続応答を送信する。キャンセル制御部307は、ユーザの入力操作(例えば、タッチ操作)を受けることができ;入力操作に応答して、コンピュータ200は、プロンプトボックス15を閉じ得る。
コンピュータ200の受信したNFC接続応答に応答して、携帯電話100は、ランチャーを用いて拡張画面デスクトップを作成し、システムUIを用いて拡張画面ステータスバーを作成する。拡張画面デスクトップに対応するディスプレイIDと、拡張画面ステータスバーに対応するディスプレイIDとは、拡張画面表示領域(Display1)のIDである。携帯電話100は、Display1の投影データをコンピュータ200に送信する。図3Gに示すように、コンピュータ200は、投影データに基づいて携帯電話100のPC様ホーム画面16を表示する。PC様とは、コンピュータ200の画面解像度及びコンピュータ200上のユーザの操作習慣に適応するために、携帯電話100からコンピュータ200に投影される拡張画面デスクトップ及び拡張画面ステータスバーに対して、インターフェース最適化及び機能最適化が実行されることを意味する。
例えば、図3Gに示すように、ホーム画面16は:拡張画面ステータスバー401、検索バー402、ドックバー403及びデスクトップ壁紙404を含み得る。図3Gから、携帯電話100によって拡張画面に投影されるホーム画面16は、コンピュータ200の画面解像度に適用可能であることが分かる。また、コンピュータ200によって表示される拡張画面デスクトップのテーマ及び壁紙は、携帯電話100の標準デスクトップのものと一致している。デスクトップ壁紙107及びデスクトップ壁紙404は、同じ画像から生成される。オプションで、デスクトップ壁紙107及びデスクトップ壁紙404は、同じ画像を調整することによって得られる。
以下では、携帯電話100によって拡張画面に投影される拡張画面ステータスバー401、検索バー402、ドックバー403及びホーム画面16のロック画面について、別々に詳細に説明する。
図3Gに示すように、拡張画面ステータスバー401は:通知センターアイコン401A、入力方式インジケータ401B、Wi-Fi信号の1以上の信号強度インジケータ401C、バッテリステータスインジケータ401D、時刻インジケータ401E、及びコントロールセンターアイコン401Fを含み得る。オプションで、拡張画面ステータスバー401は、別のインターフェース要素、例えば、Bluetoothアイコン又はセルラーネットワークの信号強度インジケータをさらに含み得る。これは、本明細書において特に限定されない。
本出願の本実施形態では、携帯電話100は、2つのステータスバーインスタンス:携帯電話100によって表示される標準デスクトップに対応する標準ステータスバー101、及びコンピュータ200によって表示される拡張画面デスクトップに対応する拡張画面ステータスバー401を実行することが理解できる。標準ステータスバー101に対応するディスプレイIDはDisplay0のIDであり、拡張画面ステータスバー401に対応するディスプレイIDはDisplay1のIDである。
携帯電話100の標準デスクトップに対応する標準ステータスバー101とは異なり、拡張画面ステータスバー401の各インターフェース要素は、対応する第2レベルインターフェースを開くためにタップされ得る。次に、拡張画面ステータスバー401の各インターフェース要素の第2レベルインターフェースについて説明する。
通知センターアイコン401Aは、ユーザの入力操作(例えば、マウスの左ボタンを使用して行うクリック操作又はユーザのタッチ操作)を受けることができ;入力操作に応答して、コンピュータ200は、図4Aに示す通知センターウィンドウ17を表示する。
なお、コンピュータ200にマウスが装備されている場合には、本出願の本実施形態における拡張画面デスクトップ及び拡張画面ステータスバーによって受けられる入力操作は、マウスを用いることによるユーザによって行われる操作であり得る;又はコンピュータ200にタッチスクリーン(又はタッチパネル)が装備されている場合には、本出願の本実施形態における拡張画面デスクトップ及び拡張画面ステータスバーによって受けられる入力操作は、タッチスクリーン(又はタッチパネル)を用いることによるユーザによって行われるタッチ操作であり得る。これは特に限定されるものではない。
具体的には、いくつかの実施形態では、コンピュータ200によって表示される拡張画面ステータスバー内のコントロール(例えば、ホーム画面16に表示される通知センターアイコン401A)は、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、入力操作の関連情報(例えば、左ボタンを使用することによってクリックされた座標と、入力操作が行われた表示画面に対応するディスプレイID)を携帯電話100に送信し得る。入力操作の関連情報に基づいて、携帯電話100は、その入力操作が、画面拡張ステータスバーの通知センターアイコン401A上でマウスの左ボタンを使用して行われたクリック操作であることを識別し、次いでその入力操作によってトリガーされた応答イベントが通知センターウィンドウ17を表示することであると決定する。携帯電話100は、Display1の通知センターウィンドウ17を実行し、Display1の更新された表示コンテンツをコンピュータ200に送信する。コンピュータ200は、携帯電話100によって送信された投影データに基づいて、図4Aに示す通知センターウィンドウ17を表示する。以降の実施の形態における、コンピュータ200によって表示される拡張画面ステータスバーによって受けられる入力操作の処理については、前述の実装プロセスを参照されたい。
例えば、図4Aに示すように、通知センターウィンドウ17は、携帯電話100の1つ以上の通知メッセージ(例えば、図4Aに示す音楽通知メッセージ501、SMS通知メッセージ502、銀行カード通知メッセージ503)と、削除制御部504とを含む。
通知センターウィンドウ17の通知メッセージ(例えば、通知メッセージ502)に対して、ユーザの入力操作を受けることができ;ユーザの異なる入力操作に応答して、通知メッセージを削除すること、通知メッセージを共有すること、通知メッセージの詳細を見ることなどの操作が実装され得る。オプションで、通知メッセージ502に対して、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、通知メッセージ502の特定の内容をSMSメッセージアプリケーションのユーザインターフェース上に表示し得る。オプションで、通知メッセージ502に対して、ユーザの入力操作(例えば、マウスの右ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、図4Bに示すメニューバー505を表示する。メニューバー505は、通知メッセージ502の表示制御部505Aと、削除制御部505Bと、共有制御部505Cとを含む。通知メッセージ502は、表示制御部505A、削除制御部505B、又は共有制御部505Cで行われる入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることにより、それに応じて通知センターウィンドウ17から表示、共有、又は削除され得る。
いくつかの実施形態では、通知センターアイコン401Aの表示コンテンツは、最新のN個の通知メッセージに対応するアプリケーションのアイコンを含む。例えば、図4Cに示すように、通知センターアイコン401Aの表示コンテンツは、最新の通知メッセージ501に対応する音楽(Music)のアイコン、通知メッセージ502に対応するメッセージのアイコン、及び通知メッセージ503に対応する銀行カード(Bank card)のアイコンを含む。
いくつかの実施形態では、拡張画面に表示されている通知センターウィンドウ17の特定の通知メッセージ(例えば、通知メッセージ502)が削除される(又は消される)と、通知メッセージは、携帯電話100のデフォルト画面に表示されている通知センターウィンドウからも削除される(又は消される)。
入力方式インジケータ401Bは、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、図4Dに示すフローティングウィンドウ18を表示する。フローティングウィンドウ18は、携帯電話100の1つ以上の入力方式オプション(例えば、入力方式1のオプション511及び入力方式2のオプション512)と、入力方式設定制御部513とを含み得る。入力方式インジケータ401Bの表示コンテンツは、携帯電話100の現在の入力方式のアイコンである。
例えば、図4Dに示すように、携帯電話100の現在の入力方式は入力方式2であり、入力方式インジケータ401Bの表示コンテンツは入力方式2のアイコンである。入力方式1のオプション511は、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、拡張画面デスクトップ上の携帯電話100の入力方式を入力方式1に切り替え得る。入力方式設定制御部513は、入力方式設定インターフェースを表示するために用いられる。
信号強度インジケータ401Cは、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、図4Eに示すフローティングウィンドウ19を表示する。フローティングウィンドウ19は、携帯電話100のWi-Fiネットワーク状態521及びリアルタイムインターネット速度522を含む。例えば、Wi-Fiネットワーク状態は、3つのネットワーク状態:強、中、及び弱がある。図4Eに示すように、携帯電話100のWi-Fiネットワーク状態521は現在「中」であり、リアルタイムインターネット速度522は263キロビット/秒(Kbps)である。
バッテリ状態インジケータ401Cは、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、図4Fに示すフローティングウィンドウ20を表示する。フローティングウィンドウ20は、携帯電話100の現在の残電力531及び設定制御部532を表示する。例えば、図4Eに示すように、携帯電話100の現在の残電力531は40%である。設定制御部532は、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、携帯電話100の電池設定インターフェースを表示し得る。
時刻インジケータ401Eは、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、図4Gに示すフローティングウィンドウ21を表示する。フローティングウィンドウ21は、時刻、日付、及び現在の月のカレンダーを含む。オプションで、フローティングウィンドウ21は、さらに、フリップアップ制御部541及びフリップダウン制御部542を含む。フリップアップ制御部541は、現在の月の前の月のカレンダーを見るために使用され得、フリップダウン制御部542は、現在の月の後の月のカレンダーを見るために使用され得る。オプションで、フローティングウィンドウ21は、さらに、日時設定制御部543を含み、設定制御部543は、日時設定インターフェースを表示するために使用される。
コントロールセンターアイコン401Fは、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、図4Hに示すコントロールセンターウィンドウ22を表示する。コントロールセンターウィンドウ22は:共通機能のための複数のショートカットアイコン551(例えば、図4Hに示すWLANアイコン、Bluetoothアイコン、NFCアイコン、及びマルチスクリーンコラボレーションアイコン)と、スマートコラボレーティブデバイス(例えば、ノートブックコンピュータMateBook、パッドMatePad、デスクトップコンピュータDesktop PC、及びインテリジェント音響デバイスSound X)の1つ以上のアイコン552と、スマートホームデバイスの1つ以上のコントロールフレーム(例えば、空気清浄機の制御フレーム553及びインテリジェント照明の制御フレーム554)とを含む。図4Hに示すように、スマートコラボレーションデバイスのアイコン552は、携帯電話100が、モデルが「MateBook」であるコンピュータ(すなわち、コンピュータ200)と現在コラボレーション状態にあることを示している。
本出願の本実施形態では、携帯電話100は、拡張画面デスクトップのテーマ色及び/又は拡張画面デスクトップの壁紙色に基づいて、拡張画面ステータスバー401に表示されるインターフェース要素の色をさらに調整し得る。オプションで、拡張画面デスクトップのテーマ色及びデスクトップ壁紙404の色が比較的濃い場合には、拡張画面ステータスバー401のインターフェース要素の色は、白又は別の予め設定された明るい色に調整される;又は、拡張画面デスクトップのテーマ色及びデスクトップ壁紙の色が比較的明るい場合には、拡張画面ステータスバー401のインターフェース要素の色は、黒又は別の予め設定された暗い色に調整される。例えば、図3Gに示すように、ホーム画面16のデスクトップ壁紙404の色は比較的明るく、拡張画面ステータスバー401のインターフェース要素の色はほとんど黒である。また、図4Iに示すように、ホーム画面16のデスクトップ壁紙404の色は比較的濃く、拡張画面ステータスバー401のインターフェース要素の色はほとんど白である。
検索バー402は、ユーザの入力操作(例えば、マウスの右ボタンを使用して実行されるダブルクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、図5A及び図5Bに示すグローバル検索フローティングウィンドウ23を表示する。例えば、フローティングウィンドウ23は、検索バー601、共通アプリケーションアイコン602、検索履歴603、ホットニュース604を含む。検索バー601は、ユーザによって入力されたテキスト情報を受信し得、ユーザによって入力されたテキスト情報に基づいてグローバル検索を実行し得る。共通アプリケーションアイコン602は、1つ以上の共通アプリケーションのアイコンを含み得る。検索履歴603は、検索バー601の1つ以上の最近の検索レコードを含み得る。ホットニュース604は、リアルタイムのホットニュースの見出し及びホット検索ランキングリストのホットニュースの見出しを含み得る。
本実施形態では、グローバル検索は、携帯電話100にローカルにインストールされているアプリケーション、保存されているファイルなどをオフラインで検索することができ、ニュース、動画、及び音楽などのリソースをオンラインで検索することができるように、検索バー402を使用することによって実装され得る。
いくつかの実施態様では、拡張画面デスクトップ上の検索バー402は、拡張画面ステータスバー401内に配置され得る。これは、本明細書において特に限定されない。
いくつかの実施形態では、ユーザは、マウスを使用して、コンピュータ200によって表示される携帯電話100のホーム画面16上のマウスのカーソルを移動することができることに留意する必要がある。オプションで、本出願の本実施形態では、マウスを使用してユーザによって行われる特定の入力操作に対して、対応するカーソル移動効果が付加され、それによってユーザの入力操作の視覚的フィードバックを付加する。例えば、マウスのカーソルの初期表示形態は、第1の形状(例えば、矢印)であり得る。マウスのカーソルが、拡張画面デスクトップ上又は拡張画面ステータスバー内に表示されている特定のインターフェース要素(例えば、図5A及び図5Bに示す検索バー402)上でホバーされる(hovered)とき、マウスのカーソルの表示形態は、第2の形状(例えば、図5A及び図5Bに示す検索バー402上の小さな手)に変更され得る。
ドックバー403は、プログラムドックとも呼ばれる。例えば、図6A-1及び図6A-2に示すように、ドックバー403は、固定アプリケーション領域701及び最近の実行領域702を含み、固定アプリケーション領域701は、アプリケーションリストアイコン701A、マルチタスクアイコン701B、デスクトップを表示するためのアイコン701C、及び1つ以上のアプリケーションアイコン(例えば、ファイル管理のアイコン701D及びブラウザのアイコン701E)を含む。最近の実行領域702は、最近実行されたアプリケーションのアイコンを含む。オプションで、固定アプリケーション領域701が最近実行されたアプリケーションのアイコンを含む場合、アプリケーションのアイコンは最近の実行領域702に追加される必要はない。
いくつかの実施形態では、ユーザは、ドックバー403の表示状態を指定することができる。オプションで、ドックバー403の表示状態は、自動的に隠されるように指定され、コンピュータ200が、携帯電話100の拡張画面デスクトップを表示する又は携帯電話100の他のアプリケーションのユーザインターフェースを表示するとき、ドックバー403は自動的に隠される;コンピュータ200は、ユーザがマウスを用いてドックバー403が位置する領域にカーソルを移動して近づけたときにのみ、ドックバー403を表示する。オプションで、ドックバー403の表示状態は常に表示されるように指定され、コンピュータ200が、携帯電話100の拡張画面デスクトップを表示する又は携帯電話100の他のアプリケーションのユーザインターフェースをフローティングウィンドウの形で表示するとき、ドックバー403は常に示される;又は、コンピュータ200が他のアプリケーションのユーザインターフェースを全画面表示するとき、ドックバー403は自動的に隠され;コンピュータ200は、ユーザがマウスを使用してドックバー403が位置する領域にカーソルを移動して近づけたときにのみ、ドックバー403を表示する。
アプリケーションリストアイコン701Aは、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、図6A-1及び図6A-2に示すユーザインターフェース24を表示する。ユーザインターフェース24は、アプリケーションアイコンリスト703を含む。アプリケーションアイコンリスト703は、複数のアプリケーションアイコン、例えば、音楽のアイコン703A及びギャラリーのアイコン703Bを表示し得る。
オプションで、ユーザインターフェース24は、ページインジケータ704をさらに含み得、他のアプリケーションアイコンは、複数のページに分散され得、ページインジケータ704は、アプリケーションが現在ユーザによって閲覧されている特定のページを示すために使用され得る。オプションで、ユーザは、他のページのアプリケーションアイコンを見るために指を使用することによって、ユーザインターフェース24を左又は右にスライドし得る。オプションで、図6A-1及び図6A-2に示すように、ユーザインターフェース24は、さらに、左フリップ制御部705及び右フリップ制御部706を含み得る。ユーザは、左フリップ制御部705又は右フリップ制御部706上でマウスをクリックすることにより、別のページ上にアプリケーションアイコンを見ることができる。オプションで、左フリップ制御部705及び右フリップ制御部706は隠され得る。コンピュータ200は、マウスを使用してカーソルを移動させて、左フリップ制御部705(又は右フリップ制御部706)が位置する領域に近づけたときにのみ、左フリップ制御部705(又は右フリップ制御部706)を表示する。オプションで、ユーザインターフェース24は、さらに検索バー707を含み得、検索バー707は、携帯電話100にインストールされたアプリケーションのアイコンを迅速に検索するために使用される。
本出願の本実施形態では、ユーザは、ドックバーの固定アプリケーション領域701に、アプリケーションアイコンリスト703内のアプリケーションアイコンを追加することができる。例えば、図6B-1及び図6B-2に示すように、音楽のアイコン703Aは、ユーザのドラッグ操作(例えば、ユーザは、マウスの左ボタンを使用してアイコンを選択し、そのアイコンを固定アプリケーション領域701にドラッグする)を受けることができ;ドラッグ操作に応答して、コンピュータ200は、固定アプリケーション領域701に音楽のアイコン703Aを追加し得る。
本出願の本実施形態では、アプリケーションアイコンリスト703又はドックバー403のアプリケーションアイコンは、ユーザの入力操作(例えば、マウスの左ボタンを使用して行われるダブルクリック操作又はユーザの指を使用して行われるタッチ操作)を受けることができ;入力操作に応答して、コンピュータ200は、アプリケーションアイコンに対応するアプリケーションのユーザインターフェースを表示し得る。
なお、携帯電話100にインストールされているいくつかのサードパーティアプリケーションは、拡張画面表示をサポートしないことが留意される必要がある。本出願の本実施形態では、携帯電話100は、拡張画面表示することができるアプリケーションのトラストリストを指定しており、拡張画面デスクトップに実装できない機能はこのトラストリストを指定することによりシールドされることができる。いくつかの実施形態では、アプリケーションアイコンリスト703は、トラストリスト内のアプリケーションのアイコンのみを表示する;サードパーティのアプリケーションが拡張画面表示をサポートした後、アプリケーションはトラストリストに動的に追加され、アプリケーションのアイコンはアプリケーションアイコンリスト703に追加される。加えて、拡張画面表示をサポートするアプリケーションの中で、いくつかのアプリケーションはコンピュータ200の画面解像度に適用可能であり、PCのようなユーザインターフェースが拡張画面に全画面で表示される;いくつかの他のアプリケーションはコンピュータ200の画面解像度に適用可能ではなく、標準的なユーザインターフェースのみを、携帯電話100上でこれらのアプリケーションについて拡張画面に表示することができる。
例えば、ギャラリーは、拡張画面上のPCのようなユーザインターフェースの全画面表示をサポートし、ギャラリーのアイコン703Bは、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるダブルクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、図6Cに示すように、ギャラリーのPCのようなユーザインターフェース25を全画面で表示し得る。例えば、音楽は、拡張画面におけるPCのようなユーザインターフェースの全画面表示をサポートしておらず、音楽のアイコン703Aは、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるダブルクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、図6Dに示すように、携帯電話100上のミュージックの標準的なユーザインターフェース26を表示する。
具体的には、いくつかの実施形態では、コンピュータ200が、アプリケーション1を起動するためにアプリケーションアイコン1に対して行われた入力操作(例えば、ギャラリーのアイコン703B上でマウスの左ボタンを使用して実行されるダブルクリック操作)を受けると、コンピュータ200は、入力操作の関連情報(例えば、左ボタンを使用してダブルクリックした座標、及び入力操作が行われた拡張画面に対応するディスプレイID)を携帯電話100に送信する;携帯電話100は、入力操作の関連情報及びDisplay1のフォアグラウンドで現在動作しているユーザインターフェース(例えば、ユーザインターフェース24)のインターフェース配置に基づいて、入力操作が拡張画面デスクトップ上のアプリケーションアイコン1に対して行われた入力操作であることを識別し、入力操作がアプリケーション1を起動するために使用されたと決定する。
なお、ユーザが拡張画面デスクトップ上で携帯電話100のアプリケーション1を起動することを意図するとき、アプリケーション1は携帯電話100の標準デスクトップ上で既に起動されている場合があることが留意される必要がある。
オプションで、携帯電話100が現在Display0でアプリケーション1を実行していないと携帯電話100が決定するとき、携帯電話100は、Display1上でアプリケーション1のユーザインターフェース1(例えば、ギャラリーのユーザインターフェース25)を起動し、Display1の更新された表示コンテンツをコンピュータ200に投影し;コンピュータ200は、携帯電話100から送信された投影データに基づいてユーザインターフェース1を表示する。オプションで、携帯電話100がDisplay0でアプリケーション1を実行していると携帯電話100が決定するとき、携帯電話100は、Display0のアプリケーション1のアクティビティスタック(ActivityStack)をDisplay1に移動し、Display1においてアプリケーション1を実行し、Display0のアプリケーション1の実行データをクリアし、その後、Display1の更新された表示コンテンツをコンピュータ200に投影し;コンピュータ200は、携帯電話100から送信された投影データに基づいて、アプリケーション1のユーザインターフェース(例えば、ギャラリーのユーザインターフェース25)を表示する。オプションで、携帯電話100がDisplay0でアプリケーション1を実行していると携帯電話100が決定するとき、携帯電話100は、コンピュータ200にプロンプト情報1を送信し;コンピュータ200は、携帯電話100がアプリケーション1を実行していることをユーザに促すために、プロンプト情報1に基づいてプロンプト情報2を表示し得;ユーザは、携帯電話100を使用してアプリケーション1を制御し得る。
マルチタスクアイコン701Bは、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;コンピュータ200は、入力操作に応答して、図7A-1及び図7A-2に示す最近のタスク画面27を表示する。最近のタスク画面27は、拡張画面デスクトップを使用してユーザによって最近開いかれたアプリケーションの1つ以上のサムネイル画像(例えば、ギャラリーのサムネイル711及びメモのサムネイル712)と、削除制御部713とを含む。オプションで、最近開いたアプリケーションが比較的大量にあり、コンピュータ200がすべての最近開いたアプリケーションのサムネイル画像を同時に表示することができない場合、最近のタスク画面25は、右フリップ制御部714をさらに含み得る。
図7B-1及び図7B-2に示すように、サムネイル画像(例えば、ギャラリーのサムネイル711)は、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;検出された入力操作に応答して、コンピュータ200は、サムネイルに対応するギャラリーのユーザインターフェース25を表示し得る。オプションで、サムネイル画像(例えば、ギャラリーのサムネイル711)は、削除制御部711Aを含む。削除制御部711Aは、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;検出された入力操作に応答して、コンピュータ200は、携帯電話100を用いて、Display1のサムネイル711に対応するギャラリーによって占有されたランニングメモリをクリアし得る。削除制御部713は、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;検出された入力操作に応じて、コンピュータ200は、携帯電話100を用いて、Display1の最近のタスク画面上のサムネイル画像に対応するすべてのアプリケーションによって占有されているランニングメモリをクリアし得る。右フリップ制御部714は、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;検出された入力操作に応答して、コンピュータ200は、最近実行されたより多くのアプリケーションのサムネイル画像を表示し得る。
他のアプリケーションのアプリケーションウィンドウが拡張画面デスクトップ上に表示されているとき、デスクトップを表示するためのアイコン701Cは、1つ以上の現在表示されているアプリケーションウィンドウを最小化し、拡張画面デスクトップを表示するために使用され得る。他のアプリケーションウィンドウが拡張画面デスクトップ上に表示されていないとき、デスクトップを表示するためのアイコン701Cは、1つ以上の最近最小化されたアプリケーションウィンドウの表示を復元するために使用され得る。例えば、図7B-1及び図7B-2に示すように、コンピュータ200は、ギャラリーのユーザインターフェース25を表示し、コンピュータ200は、ユーザの入力操作(例えば、ユーザは、マウスを使用して、表示画面上のドックバー403が位置する領域にカーソルを移動して近づける)を受けることができ;入力操作に応答して、コンピュータ200は、図8Aに示すように、ユーザインターフェース25上にドックバー403を表示する。図8Aに示すように、ドックバー403にデスクトップを表示するためのアイコン701Cは、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、図8Aに示すように、ユーザインターフェース25を最小化し、拡張画面デスクトップを表示する。図8Bに示すように、ユーザインターフェース25が最小化された後、デスクトップを表示するためのアイコン701Cは、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、最近最小化したユーザインターフェース25を再度表示する。
いくつかの実施形態では、全画面で表示されたアプリケーションのユーザインターフェース(例えば、図8Cに示すギャラリーのユーザインターフェース25)は、最小化制御部721、ズームアウト制御部722及びクロージャ(closure)制御部723を表示し得る。最小化制御部721は、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ:入力操作に応答して、コンピュータ200は、ユーザインターフェース25を最小化する。クロージャ制御部723は、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、ユーザインターフェース25をクローズし、携帯電話100のDisplay1内のユーザインターフェース25によって占有されているランニングメモリをクリアする。
図8Cに示すように、ズームアウト制御部722は、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受け得る。図8Dに示すように、コンピュータ200は、入力操作に応答して、ユーザインターフェース25を縮小し、フローティングウィンドウ28の形でユーザインターフェース25を実行する。図8Dに示すように、フローティングウィンドウ28は、ズームイン制御部724を含み得る。ズームイン制御部724は、ユーザの入力操作(例えば、マウスの左ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、図8Cに示すように、ユーザインターフェース25を全画面で表示し得る。
いくつかの実施形態では、コンピュータ200は、携帯電話100の拡張画面デスクトップ上の複数のアプリケーションウィンドウをタイル状に表示し得る。例えば、図8Eに示すように、コンピュータ200は、ギャラリーに対応するフローティングウィンドウ28とメモに対応するフローティングウィンドウ29とを同時に表示する。
本出願の本実施形態では、ドックバー403又はアプリケーションアイコンリスト703のアプリケーションアイコンは、代替的に、ユーザの入力操作(例えば、マウスの右ボタンを使用して実行されるクリック操作)を受けることができ:入力操作に応じて、コンピュータ200は、アプリケーションの削除、共有、アンインストール、別のショートカット機能などを実装するために、アイコンに対応するアプリケーションの複数の操作オプションを表示し得る。なお、各アプリケーションは、異なる操作オプションに対応し得ることが留意される必要がある。例えば、いくつかのシステムアプリケーション(ギャラリーやファイル管理など)はアンインストールできない。
例えば、図9Aに示すように、ドックバー403のアプリケーションアイコン(例えば、ブラウザのアイコン701E)は、ユーザの入力操作(例えば、マウスの右ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、フローティングウィンドウ30を表示し得る。フローティングウィンドウ30は、削除制御部801、共有制御部802及びアンインストール制御部803を含み得る。
削除制御部801は、ユーザの入力操作(例えば、マウスの右ボタンを使用して実行されるクリック操作)を受けることができ;入力操作に応答して、コンピュータ200は、ドックバー403からブラウザのアイコン701Eを削除し得る。共有制御部802は、ブラウザアプリケーションをターゲットオブジェクトと共有するために使用される。アンインストール制御部803は、携帯電話100のブラウザアプリケーションをアンインストールするために使用される。
いくつかの実施形態では、ドックバー403内のアプリケーションアイコン(例えば、ギャラリーのアイコン701F)は、ユーザのホバリング操作(例えば、アプリケーションアイコンの上にマウスのカーソルをホバリングすること)をさらに受けることができ;入力操作に応答して、アプリケーションアイコンに対応するアプリケーションがバックグラウンド実行状態にある場合、コンピュータ200は、アプリケーションアイコンに対応するアプリケーションのサムネイルを表示し得、サムネイルは、アプリケーションが最近実行されたユーザインターフェースのサムネイルである。例えば、図9B-1及び図9B-2に示すように、ユーザは、ギャラリーのアイコン701Fにマウスカーソルをホバーするとき、コンピュータ200は、ギャラリーのサムネイル804を表示する。
いくつかの実施形態では、携帯電話100の拡張画面デスクトップのロック画面のスタイルは、携帯電話100の標準デスクトップのロック画面のスタイルと一致する。
オプションで、ユーザが携帯電話100の拡張画面デスクトップの画面ロックを実行するようにコンピュータ200を制御した後、携帯電話100は、標準デスクトップの画面ロックも実行する;また、その逆も同様である。例えば、ユーザがコンピュータ200上で、画面ロックを実行するように携帯電話100の拡張画面デスクトップを制御した後、コンピュータ200は、図10Aに示す拡張画面デスクトップのロック画面31を表示し、携帯電話100にロック画面指示を送信し、ロック画面31はロック画面壁紙901を含み;ロック画面指示に応答して、携帯電話100は、図10Bに示すロック画面32を表示し、ロック画面32がロック画面壁紙902を含む。例えば、ユーザが画面ロックを実行するように携帯電話100の標準デスクトップを操作した後、携帯電話100は、図10Bに示すロック画面32を表示し、コンピュータ200にロック画面指示を送信し;ロック画面指示に応答して、コンピュータ200は、図10Aに示す拡張画面デスクトップのロック画面31を表示する。ロック画面壁紙901及びロック画面壁紙902は、同じ画像に由来する。オプションで、ロック画面壁紙901及びロック画面壁紙902は、同じ画像を調整することによって得られる。
オプションで、ユーザが携帯電話100の拡張画面デスクトップ上で画面ロックを実行するようにコンピュータ200を制御した後、携帯電話100は、拡張画面デスクトップとともに、標準デスクトップ上で画面ロックを実行しない;また、その逆も同様である。
以下、本出願の一実施形態による携帯電話100のソフトウェアシステムについて、添付図面を参照して説明する。
まず、本出願の実施形態で提供される画面投影方法は、複数のシステムアプリケーション(ランチャー、システムUI、ファイルマネージャ(FileManager)、グローバル検索(Hisearch)、ワイヤレス投影(AirSharing)など)及びシステムフレームワークを変更することを伴うことに留意する必要がある。
デスクトップランチャーは、デスクトップレイアウト、ドックバー、アプリケーションリスト、複数のタスク等を管理するために使用される。システムUIは、ユーザにシステムレベルの情報表示とインタラクションを提供するUIコンポーネントであり;ステータスバー、ナビゲーションバー、通知センター、ロック画面、壁紙などを管理するために使用される。ファイルマネージャは、ファイルボックスを外部に提供し、デスクトップファイルを管理し、ファイル操作機能を外部に提供し、アプリケーション間でファイルのドラッグを実装するために使用される。グローバル検索は、ローカル及びオンラインのグローバル検索を実装するために使用される。ワイヤレス投影は、携帯電話100から投影先デバイス(例えば、コンピュータ200)へのワイヤレス投影を実装するために使用される。
本出願の本実施形態では、携帯電話100のソフトウェアシステムは、階層アーキテクチャ、イベントドリブンアーキテクチャ、マイクロ核アーキテクチャ、マイクロサービスアーキテクチャ、又はクラウドアーキテクチャを使用し得る。本出願の本実施形態では、階層アーキテクチャを持つアンドロイドシステムが電子デバイス100のソフトウェア構造を説明するために例として使用される。
例えば、図11A及び図11Bは、本出願の一実施形態に係る携帯電話100のソフトウェアアーキテクチャのブロック図である。
図11A及び図11Bに示すように、ソフトウェアは階層アーキテクチャによって複数の層(レイヤ)に分割され、各層は明確な役割とタスクを有する。各層は、ソフトウェアインターフェースを介して相互に通信する。いくつかの実施形態では、アンドロイドシステムは、アプリケーション層、アプリケーションフレームワーク層(フレームワーク(Framework))、及びシステムライブラリ(ネイティブ(Native))に上から下まで分割され得る。
アンドロイドランタイムは、コアライブラリと仮想マシンを含む。アンドロイドランタイムは、アンドロイドシステムのスケジュールと管理を担当する。
コアライブラリは、2つの部分、すなわち、Java(登録商標)言語によって呼び出される必要があるパフォーマンス関数と、アンドロイドのコアライブラリを含む。
アプリケーション層とアプリケーションフレームワーク層は、仮想マシンで実行される。仮想マシンは、アプリケーション層とアプリケーションフレームワーク層のJavaファイルをバイナリファイルとして実行する。仮想マシンは、オブジェクトライフサイクル管理、スタック管理、スレッド管理、セキュリティと例外管理、ガベージコレクションなどの機能を実行するために使用される。
アプリケーション層は、一連のアプリケーションパッケージ(アンドロイドアプリケーションパッケージ、APK)、例えば、デスクトップランチャーAPK(HWLauncher6.apk)、システムインターフェースAPK(SystemUI.apk)はイルマネージャAPK(FileManager.apk)、グローバル検索APK(Hisearch.apk)、及びワイヤレス共有APK(AirSharing.apk)を含む。
いくつかの実施形態では、デスクトップランチャーAPKは、標準デスクトップランチャー(UniHomelauncher)及び拡張画面デスクトップランチャー(PcHomelauncher)を含む。システムインターフェースAPK(SystemUI.apk)は、標準ステータスバー(StatusBar)及び拡張画面ステータスバー(PcStatusBar)を含む。ファイルマネージャAPK(FileManager.apk)は、標準インターフェース、列インターフェース、及びファイルボックスを含む。グローバル検索APK(Hisearch.apk)は、標準検索インターフェースと拡張画面検索インターフェースを含む。ワイヤレス共有APK(AirSharing.apk)は、一般的なワイヤレス投影とファーウェイが開発した高精細ディスプレイ投影を含む。本出願の本実施形態では、拡張画面デスクトップはPCデスクトップとも呼ばれることがあり、拡張画面ステータスバーはPCステータスバーとも呼ばれることがある。これは本明細書において特に限定されるものではない。
図11A及び図11Bに示すように、本出願の本実施形態では、デスクトップランチャーは、複数のデスクトップインスタンス、例えば、UniHomelauncher及びPcHomelauncherの実行をサポートする。UniHomelauncherは、携帯電話100によって表示される標準デスクトップを起動するために使用され、PcHomelauncherは、コンピュータ200に投影される拡張画面デスクトップを起動するために使用され、拡張画面デスクトップは、コンピュータ200に適用可能なPCのようなデスクトップである。標準デスクトップはデフォルト画面表示領域(Display0)で動作するアプリケーションウィンドウに基づいて表示され、拡張画面デスクトップは拡張画面表示領域(Display1)で動作するアプリケーションウィンドウに基づいて表示される。システムUIは、複数のステータスバーインスタンス、例えば、標準ステータスバー及び拡張画面ステータスバーの実行をサポートする。標準ステータスバーに対応するディスプレイIDはDisplay0のIDであり、拡張画面ステータスバーに対応するディスプレイIDはDisplay1のIDである。ファイルマネージャの追加された列インターフェースとファイルボックスは、拡張画面デスクトップファイル操作(コピー、貼り付け、移動、削除、復元、ドラッグなど)を担当する。グローバル検索は、複数の検索インターフェースインスタンス、例えば、標準デスクトップに対応する標準検索インターフェース及び拡張画面デスクトップに対応する拡張画面検索インターフェースの実行もサポートする。
アプリケーション層は、さらにキット(Kit)を含む。キットは、ソフトウェア開発キット(HwSDK)、ユーザインターフェースキット(Uikit)、及び投影プロトコルキット(Cast+kit)を含む。
本出願の本実施形態では、本出願の実施形態で提供される画面投影方法を実装するために、HwSDKがキットに追加される。HwSDKは、本出願に関連するソフトウェアパッケージ、ソフトウェアフレームワーク、ハードウェアプラットフォーム、及びオペレーティングシステムのアプリケーションソフトウェアを確立するための開発ツールのセットである。キットの互換性を確保するために、Uikit及びCast+kitは、Uikitが拡張画面デスクトップ上のネイティブコントロールの機能の強化、テキスト右クリックメニューの最適化、マウスクリック及びマウスホバー(Hover)などの操作の動的効果の最適化などを実装できるように、本出願の本実施形態で変更されている;Cast+kitは、拡張画面デスクトップの高精細ディスプレイへの投影を実装できる。
アプリケーションフレームワーク層は、アプリケーションプログラミングインターフェース(application programming interfaces、API)及びアプリケーション層におけるアプリケーションのプログラミングフレームワークを提供する。アプリケーションフレームワーク層は、いくつかの事前に定義された関数を含む。
本出願の本実施形態では、本出願の実施形態で提供される画面投影方法を実装するために、ファーウェイが開発したディスプレイ投影サービス(HwProductiveMultiWindowManager)及びドックバー管理サービス(DockBarManagerService)がアプリケーションフレームワーク層に追加される。ファーウェイが開発したディスプレイ投影サービスは、同じアプリケーションの複数のアプリケーションウィンドウを同時に実行し、複数のアプリケーションウィンドウ内の特定のウィンドウを投影先デバイス(例えば、コンピュータ200)に投影するために使用される。ドックバー管理サービスは、ドックバーを管理するために使用される。
アプリケーションフレームワーク層の互換性を確保するために、表示管理サービス(DisplayManagerService、DMS)、入出力サービス(InputManagerService,IMS)、及びパラレルビューサービス(HwPartsMagicWindow)は、本出願の本実施形態でさらに変更される。
DMSは:インターフェース表示のライフサイクルを管理し;現在の接続のデフォルト画面表示領域(Display0)及び拡張画面表示領域(Display1)の論理表示を制御し;Display0とDisplay1の表示状態が変化した場合に、システム及びアプリケーションに通知などを送信する;ために使用される。IMSは、携帯電話100の入出力を管理するために使用される。携帯電話100の入出力装置は、プリンタ、ハードディスク、キーボード、マウス、ハードディスク、磁気ディスク、書き込み可能な読み出し専用光ディスクを含み得る。パラレルビューサービスは、アプリケーション画面分割機能を実装するために使用される。具体的には、アプリケーションの2つの異なるアクティビティに対応する2つのユーザインターフェースが同時に表示され得るので、2つのユーザインターフェースを同じ表示画面の分割画面に表示することができる、又は、2つのユーザインターフェースを異なる表示画面に表示することができる。加えて、本出願の本実施形態で提供するパラレルビューサービスは、フローティングウィンドウを使用することによってユーザインターフェース表示をサポートする。
本出願の本実施形態では、携帯電話100について、アプリケーションフレームワーク層におけるパッケージ管理サービス(PackageManagerService、PMS)及び壁紙サービス(WallpaperService)も変更されるので、デフォルトのランチャー(つまり、UniHomelauncher)を選択するためのポリシーがパッケージ管理サービスに追加され、WallpaperServiceは複数のディスプレイに壁紙を表示することをサポートする。
システムライブラリは、複数の機能モジュールを含み得る。本出願の本実施形態では、システムライブラリは、イベントディスパッチャ(InputDispatcher)、オーディオシステム(AudioSystem)、投影プロトコル(Huawei Cast+)などを含み得る。本出願の本実施形態では、高精細ディスプレイへの拡張画面デスクトップの投影を実装するために、投影プロトコルも、本出願の本実施形態において対応して変更される。
次に、本出願の実施形態で提供される投影方法が適用されるソフトウェアシステムフレームワークについて、ランチャーとシステムUIに分けて詳細に説明する。
例えば、システムUIについては、図12A、図12B、図12Cに本出願の一実施形態による別のソフトウェアシステムフレームワークを示す。図11A及び図11Bから、SystemUI.apkが標準ステータスバー及び拡張画面ステータスバーを含むことが分かる。図12A、図12B及び図12Cから、SystemUI.apkが具体的に以下を含むことが分かる:システムインターフェースアプリケーション(SystemUIApplication);及び標準ステータスバーを実装するために使用される基本クラス(Base Class)、サービス(Service)、コンポーネント(Component)、依存関係クラスプロバイダ(Dependency Providers))、及びUI制御クラス(UI Control)。
SystemUIApplicationはアプリケーションのサブクラスであり、システムUIのすべてのコンポーネントの初期化を担当する。
基本クラスは、システムインターフェースファクトリクラス(SystemUIFactory)、システムインターフェースルートコンポーネント(SystemUIRootComponent)などを含む。SystemUIFactoryは、システムUIのコンポーネントを作成するために使用される。SystemUIRootComponentは、依存関係挿入フレームワーク(dagger)の初期化を実装するために使用される。
サービスは、システムインターフェースサービス(SystemUIService)を含む。SystemUIServiceは、システムUIの一連のコンポーネントを初期化するために使用される。システムUIが開始されると、SystemUIServiceは、SystemUIServiceのサービスリストで定義されているサブサービスを1つずつインスタンス化する。各サブサービスのstart()方法が呼び出されて、サブサービスが実行される。すべてのサブサービスは、システムUI抽象クラスから継承される。ステータスバーとナビゲーションバーは、サービスリストのサブサービスである。
コンポーネントは、コマンドキュー(CommandQueue)、依存関係クラス(Dependency)、ロック画面ビューメディエーター(KeyguardViewMediator)、通知センター(Notification)、標準システムバー(Systembars)、標準ステータスバーなどを含む。
CommandQueueは、ステータスバー及び通知センターに関連する要求を処理するために使用されるバインダー(Binder)クラスである。CommandQueueは、StatusBarManagerServiceのメッセージを受信するために、ステータスバーによってステータスバー管理サービス(StatusBarManagerService)に登録される。CommandQueueは、内部的にイベントキューを保持する。ステータスバーサービス(StatusBarService)は、CommandQueueにコールバックCallbacksを実装するために使用される。本出願の本実施形態では、CommandQueueコンポーネントが複数のStatusBar(つまり、標準ステータスバー及び拡張画面ステータスバー)のメッセージ配信をサポートするように、CommandQueueコンポーネントが変更される。
Dependencyは、グローバルに使用可能な依存関係を作成するために使用される。
SystemBarsは、基本クラスシステムUIから継承され、システムUIビュー全体を作成するためのエントリクラスである。標準ステータスバーは主に:標準デスクトップにアプリケーションの通知アイコン(Icon)とシステムのステータスアイコン(アラームクロックアイコン、Wi-Fiアイコン、SIMカードアイコン、システムタイムアイコン等)を表示し、これらのアイコンを制御及び管理するために使用される。Notificationは、ステータスバーに通知情報を表示し、通知情報を制御及び管理するために使用される。
KeyguardViewMediatorは、画面ロックのコアクラスである。他のロック画面オブジェクトは、KeyguardViewMediatorを介して相互に対話する。KeyguardViewMediatorは、ステータスコールバック管理クラスである。ロック画面サービス(KeyguardService)からのすべての呼び出しは、KeyguardViewMediatorによってUIスレッドに変換される。
依存関係クラスプロバイダは、ステータスバーウィンドウ制御クラス(StatusBarWindowController)、ステータスバーアイコンコントローラ実装クラス(StatusBarIconControllerImpl)、ステータスバーポリシー(StatusBarPolicy)などを含む。
StatusBarWindowControllerは、ステータスバーウィンドウビュー(StatusBarWindowView)を管理するために使用され、標準ステータスバーを表示するためにWindowManagerのインターフェースを呼び出すことができる。本出願の本実施形態では、StatusBarWindowControllerコンポーネントが複数のステータスバーオブジェクトの追加、削除、及び管理をサポートするように、StatusBarWindowControllerコンポーネントが変更される。
StatusBarIconControllerImplは、アイコンのサイズ、位置、及び色の変更を含む、ステータスバーのアプリケーションアイコンを管理するために使用される。
StatusBarPolicyは、ステータスバーの表示ポリシー(例えば、ステータスバーのアイコン、表示時間、表示位置の更新)を管理するために使用される。StatusBarPolicyクラスはポリシー管理クラスであり、実際の機能はStatusBarServiceによって実装される。
UI制御クラスは、ステータスバーウィンドウビュー(StatusBarWindowView)、通知パネルビュー(NotificationPanelView)、クイック設定フラグメント(QSFragment)、ステータスバーフラグメント(StatusBarFragment)、ステータスバービュー(StatusBarView)などを含む。
StatusBarWindowViewは、ステータスバーが拡張されていない場合にルートレイアウトを決定し、ステータスバーウィンドウビューを作成するために使用される。
StatusBarViewは、システムUIビュー全体(ステータスバー、通知センター、ロック画面などを含む)の作成とインスタンス化を担当する。StatusBarViewは、ステータスバーに表示されるアイコンの名前、表示シーケンス、ポータブルネットワークグラフィックス(Png)などを定義する。StatusBarServiceの初期化中に、ステータスバーを表示するためのStatusBarViewが初期化される。StatusBarServiceはステータスバーの初期化を実装するためにmakeStatusBarView方法を呼び出す。
NotificationPanelViewは、ステータスバーがプルダウンされた後の通知センターの制御クラスである。
QSFragmentは、ステータスバーがプルダウンされた後のコントロールセンターの制御クラスである。
StatusBarFragmentは、折りたたまれた状態のステータスバーを管理し、ステータスバー内のアイコンのライフサイクル管理を担当する。
拡張画面ステータスバーを実装するために、本出願の本実施形態では、拡張画面ステータスバーの実装に使用されるService、Component、依存関係クラスプロバイダ、及びUI制御クラスがシステムインターフェースAPKに追加される。
拡張画面ステータスバーの実装するために使用されるServiceは、生産性サービス(ProductiveService)を含む。ProductiveServiceは、Serviceから継承される。
拡張画面ステータスバーを実装するために使用されるコンポーネントは:PC依存関係クラス(PcDependency)、PCシステムプロバイダ(PcSystemProviders)、PCシステムバー(PcSystembars)、及び拡張画面ステータスバーを含む。PcDependency、PcSystembars、及び拡張画面ステータスバーはすべて、前述の標準ステータスバーの対応するコンポーネントから継承され、拡張画面ステータスバーに対して同様の機能を実装する。詳細はここでは再度説明しない。
拡張画面ステータスバーを実装するために使用される依存クラスプロバイダは:PCステータスバーウィンドウ制御クラス(PcStatusBarWindowController)、画面制御クラス(ScreenController)、ロック画面制御クラス(KeyguardController)、及びリモート制御クラス(RemoteController)を含む。PcStatusBarWindowControllerは、前述の標準ステータスバーのStatusBarWindowControllerから継承され、拡張画面ステータスバーに対して同様の機能を実装する。詳細はここでは説明しない。
画面制御クラス(ScreenController)は、投影側の画面のオン及びオフを制御するために使用される。
本出願の本実施形態では、Keyguardコンポーネント、例えばロック画面制御クラス(KeyguardController)は、Keyguardコンポーネントが複数のディスプレイにおける画面ロックをサポートするために、変更される。
リモート制御クラス(RemoteController)は、アプリケーションフレームワーク層(Framework)と通信するために使用される。
拡張画面ステータスバーを実装するために使用されるUI制御クラスは:PCステータスバーウィンドウビュー(PcStatusBarWindowView)、PC通知パネルビュー(PcNotificationPanelView)、PCクイック設定フラグメント(PcQSFragment)、PCステータスバーフラグメント(PcStatusBarFragment)、PCステータスバービュー(PcStatusBarView)などを含む。追加されたUI制御クラスは、前述の標準ステータスバーの対応する制御クラスから継承され、拡張画面ステータスバーに対して同様の機能を実装する。詳細はここでは再度説明しない。
加えて、互換性を確保するために、本出願の本実施形態では、アプリケーションフレームワーク層におけるウィンドウ管理サービス(WMS)、ステータスバー管理サービス(StatusBarManagerService)、壁紙管理サービス(WallpaperManagerService)、通知管理サービス(NotificationManagerService、NMS)、及びPCモジュール(HwPartsPowerOffice)も対応して変更される。
ウィンドウ管理サービス(WindowManagerService,WMS)は、ウィンドウ管理ポリシー(WindowManagerPolicy)とロック画面サービスエージェント(KeyguardServiceDelegate)を含む。WMSは、同じアプリケーションが複数のアプリケーションウィンドウを同時に実行することを可能にする。
StatusBarManagerServiceは、複数のステータスバー(標準ステータスバー及び拡張画面ステータスバーなど)の登録と管理をサポートする。StatusBarManagerServiceは、StatusBarServiceのマネージャである。StatusBarServiceは:ステータスバーのアイコンの読み込み、更新、削除;アプリケーションとステータスバーの相互作用;通知情報処理;などを実装するために使用される。
WallpaperManagerServiceは、壁紙が複数のディスプレイ(例えば、標準デスクトップに対応するDisplay0及び拡張画面デスクトップに対応するDisplay1)に表示されることを可能にする。
NMSは、PCのUXスタイルをサポートし、複数のステータスバーがプルダウンされた後の通知センターの管理をサポートする。
HwPartsPowerOfficeは、投影エントリを変更するために使用される。本出願の本実施形態では、投影シナリオで拡張画面デスクトップと拡張画面ステータスバーの読み込みを実装するために、PC管理サービス(HwPCManagerService)への変更がHwPartsPowerOfficeに追加される。
本出願での継承は、サブクラスオブジェクト(インスタンス)が親クラスのインスタンスドメインと方法を有するようにサブクラスが親クラスの機能と動作を継承すること;又はサブクラスが親クラスと同じ動作を有するようにサブクラスが親クラスから方法を継承することを意味することが留意される必要がある。
いくつかの実施形態では、図12A、図12B及び図12Cに示されるシステムアーキテクチャ図は、さらにインターフェース層(Interface)を含み、インターフェース層は、アンドロイドインターフェース定義言語((Android Interface Definition Language、AIDL)及びブロードキャスト(Broadcast)を含む。AIDLは、異なるプロセス間の通信インターフェースである。Broadcastは、ブロードキャストメッセージの送受信に使用され、メッセージ転送を実装できる。
システムUIは、複数のタイプのシステムインターフェースを含むことが留意される必要がある。図12A、図12B、及び図12Cは、説明のための単なる一例であり、図12A、図12B、及び図12Cに示されたシステムUIのコンポーネント及びシステムUIのサブクラスに限定されるものではない。本出願の本実施形態では、システムUIの別のコンポーネント及びシステムUIの別のサブクラスがさらに含まれてもよい。これは、本明細書において特に限定されない。
例えば、ランチャーについては、図13A及び図13Bは、本出願の一実施形態によるさらに別のソフトウェアシステムフレームワークを示す。図11A及び図11Bから、デスクトップランチャーAPKがUniHomelauncher及びPcHomelauncherを含むことが分かる。図13A及び図13Bに示すように、デスクトップランチャーAPKは、具体的には、共通クラス(Common Class)、UI制御クラス(UI Control)、サービス(Service)、及びアクティビティスタックを含む。
本出願では、共通クラス(Common Class)について、次のものが拡張画面デスクトップとの互換性を確保するために変更される:デスクトップランチャープロバイダ(LauncherProvider)、データベースアシスタント(DatabaseHelper)、デスクトップランチャー設定クラス(LauncherSettings)、及びデスクトップランチャー定数クラス(LauncherConstants)。
LauncherProviderは、デスクトップランチャーのデータベースであり、デスクトップランチャーによって実行される複数のデスクトップインスタンス(例えば、標準デスクトップと拡張画面デスクトップ)のアプリケーションアイコンのデータベースコンテンツプロバイダであり;他のアプリケーションがデスクトップランチャー内のデータにアクセスする又は操作を実行することを可能にする。
DatabaseHelperは、データベースを作成及び管理するために使用される。
LauncherSettingsは、データベースアイテムの文字列の定義を実装するために使用される。内部クラスお気に入り(Favorites)は、LauncherProviderに対して操作を実行し、データベース内の対応するフィールドのフィールド名に対して操作を実行するためのUriを提供する。
LauncherConstantsは、アプリケーション内の定数を維持及び管理する。
本出願では、次のものが拡張画面デスクトップを実装するために、共通クラスに追加される:PCレイアウト構成(PclayoutConfig)、PCデバイスファイル(PcDeviceProfile)、PCセル(セル)カウンタ(PcCellNumCalculator)、PCデスクトップランチャーポリシー(PcLauncherPolicy)、PCデスクトップランチャーモデル(PcLauncherModel)、PC読み込みタスク(PcLoaderTask)など。追加された共通クラスは、標準デスクトップの対応する共通クラスから継承され、拡張画面デスクトップで同様の機能を実装するために使用される。
PclayoutConfigは、拡張画面デスクトップのレイアウト属性(例えば、幅(width)及び高さ(height))とパラメータを設定するために使用される。拡張画面デスクトップ上のコンポーネントの表示効果は、レイアウト属性を指定することによって制限され得る。
PcDeviceProfileは、拡張画面デスクトップ上の各モジュールの基本属性を定義するために使用され;属性の値の初期化、各要素のレイアウトのパディングの設定などを担当する。
PcCellNumCalculatorは、デスクトップアイコンレイアウトのポリシークラスである。
PcLauncherPolicyは、拡張画面デスクトップの表示ポリシーを管理する。
PcLauncherModelは、データ処理クラスであり、拡張画面デスクトップのデスクトップ状態を格納し、データベースの読み取りと書き込みのためのAPIを提供し、アプリケーションが削除、置換、又は追加されたときにデータベースを更新する。
PcLoaderTaskは、拡張画面デスクトップを読み込むために使用される。
本出願では、次のものが拡張画面デスクトップを実装するために、制御クラスにさらに追加される:PCドラッグレイヤ(PcDraglayer)、PCデスクトップワークスペース(PcWorkSpace)、PCセルレイアウト(PcCelllayout)、PCプログラムドックビュー(PcDockview)、PCフォルダ(PcFolder)、PCフォルダイコン(PcFolderIcon)など。追加された制御クラスはすべて、標準デスクトップの対応する制御クラスから継承され、拡張画面デスクトップで同様の機能を実装するために使用される。
PcDraglayerは、イベントの配布を担当するビューグループ(ViewGroup)であり、拡張画面デスクトップのイベントを事前に処理し、状況に基づいてイベントを配布するために使用される。DragLayerは:デスクトップレイアウト(Workspace(ワークスペース))、ナビゲーションポイント(QuickNavigationView)、ドック領域(Hotseat(ホットシート))、及び最近のタスクリスト(OverviewContainer)を含む。Hotseatは、ドックバーの管理を担当するコンテナである。
PcWorkSpaceはPagedViewのサブクラスであり、複数のCellLayoutコントロールで構成される。各CellLayoutコントロールは、分割画面を表す。PcWorkSpaceは、拡張画面デスクトップに分割画面スライド機能を実装するために使用される。
PcCellLayoutは、拡張画面デスクトップ上の分割画面アイコンの表示及びレイアウトを管理するために使用される。
PcDockviewは、投影側にDockレイアウトを実装するために使用される。
PcFolderは、拡張画面デスクトップ上のフォルダ(ユーザによって作成されたフォルダ及びシステムによって提供されるフォルダを含む)を実装するために使用される。
拡張画面デスクトップを実装するために、本出願の本実施形態のアクティビティスタックは、拡張画面デスクトップに対応するタスクスタックの管理をサポートする。PCデスクトップサービス(PcHomeService)がサービス(Service)に追加される。PcHomeServiceは、拡張画面デスクトップを起動するために使用される。
加えて、アプリケーションフレームワーク層と拡張画面デスクトップの投影との互換性を確保するために、本出願の本実施形態では、アプリケーションフレームワーク層におけるアクティビティ管理サービス(ActivityManagerService,AMS)も、AMSが同じアプリケーションを使用することによって複数のアプリケーションウィンドウの同時実行をサポートするように、例えば、上記2つのデスクトップインスタンスの同時実行をサポートするように、これに対応して変更される。
いくつかの実施形態では、ドックバーが拡張画面デスクトップに追加され;これに対応して、IdockBar.aidlが、ドックバーで操作を実行するためのフレームワーク層のバインダーインターフェースを提供するために、デスクトップランチャーに追加される。
次に、本出願の一実施形態によるタスクスタックについて説明する。
例えば、図14に示すように、アクティビティスタックは、デフォルト画面に対応するタスクスタックと拡張画面に対応するタスクスタックを含む。携帯電話100は、デフォルト画面に対応するタスクスタックと拡張画面に対応するタスクスタックを別々に保持し得る。携帯電話100は、ディスプレイIDを使用することによって2つのタスクスタックを区別する。デフォルト画面に対応するタスクスタックのディスプレイIDはDisplay0のIDであり、拡張画面に対応するタスクスタックのディスプレイIDはDisplay1のIDである。図14に示すように、Display1に対応するタスクスタックは、1つのデスクトップタスクスタック(HomeStack)とN個のアプリケーションスタック(AppStack)、つまり、スタック1からスタックNまでを実行し、HomeStackは1つ以上のデスクトップタスク(Task)を含み、AppStackは1つ以上のアプリケーションタスクを含む;Display0に対応するタスクスタックは、1つのHomeStackと1つのAppStackを実行し、AppStackは1つ以上のアプリケーションタスク(例えば、Task-A及びTask-B)を含む。1つのタスクは、1つ以上のアクティビティを含む。
PcHomeLauncherはDisplay1を用いて携帯電話100の拡張画面のHomeStackを実行し、UniHomeLauncherはDisplay0を用いて携帯電話100のデフォルト画面のHomeStackを実行する。これにより、拡張画面のHomeStackとデフォルト画面のHomeStackとの間のデータ分離を実装することができる。ポインタイベントリスナー(TapPointerListener)を使用して入力イベントを取得した後、WMSは、拡張画面で動作する入力イベントをDisplay1に配信し、デフォルト画面で動作する入力イベントをDisplay0に配信することができる。
次に、上述したアプリケーションシナリオ及びソフトウェアシステムに基づいて、本出願の一実施形態に係る画面投影方法の具体的な実装について詳細に説明する。
図11A~図13Bを参照。本出願の実施形態では、変更されたソフトウェアシステムフレームワークが、異なるディスプレイにおける複数のデスクトップインスタンス及び複数のステータスバーインスタンスの実行をサポートするように、ソフトウェアシステムフレームワークが変更される。前述のソフトウェアシステムフレームワークに基づいて、本出願の一実施形態は、以下のステップを含む画面投影方法を提供する。
S101:投影先デバイス(例えば、コンピュータ200)のディスプレイに接続された後、携帯電話100は、投影を確認するための投影指示を受ける。
S102:投影指示に応答して、携帯電話100は、システムUIを用いて、拡張画面ステータスバー及び関連するロジック制御クラスを追加し、拡張画面ステータスバーに対応するディスプレイIDが拡張画面表示領域Display1のIDである。
S103:投影指示に応答して、携帯電話100は、ランチャーを用いて、拡張画面デスクトップ及び関連するロジック制御クラスを更に追加し、拡張画面デスクトップに対応するディスプレイIDは拡張画面表示領域Display1のIDであるする。
具体的には、いくつかの実施形態では、投影指示に応答して、携帯電話100は、拡張画面ステータスバーをロードするために、HwPCManagerServiceを用いてサービスProductiveServiceを起動し;拡張画面デスクトップをロードするために、HwPCManagerServiceを用いてサービスPcHomeServiceを起動する。
本出願の本実施形態で提供される投影方法の具体的な実装をさらに説明するために、本出願の本実施形態によるシステムUI及びランチャーのソフトウェア実装手順について、別途詳細に説明する。
例えば、本出願の本実施形態によるシステムUIのソフトウェア実装手順を図15A-1及び図15A-2に示す。実装手順は、以下のステップを含む。
(1)携帯電話100の電源が投入されると、非投影モードでは、携帯電話100は、Zeyoteプロセスを起動し、Zeyoteプロセスを用いて仮想マシンインスタンスを生成し、システムサービス(SystemServer)を実行する。
(2)SystemServerは、SystemUIServiceを含む、システムの実行に必要な一連のサービスを起動する。
(3)SystemUIServiceは、システムUIを起動し、SystemUIApplicationを呼び出す。
具体的には、SystemServerは、ブートサービス、コアサービス、及びその他のサービスを個別に起動し;startOtherService方法でmActivityManagerService.systemReady()方法を呼び出すことによって、システムUIとランチャーを個別に起動する。
(4)SystemUIApplicationは、startServicesIfNeeded関数を使用してシステムUIのコンポーネントを起動する。システムUIのコンポーネントは、Systembarsを含む。
(5)起動後、SystemBarsは構成アイテムconfig_statusBarComponentに基づいて標準ステータスバー(StatusBar)を起動する。
本出願の本実施形態では、起動後、SystemUIServiceは構成アイテムconfig_SystemUIServiceComponentsを読み取り、各コンポーネント(SystemBarsを含む)をロードする。ロード後、SystemBarsコンポーネントは構成アイテム(config_statusBarComponent)を読み取り、構成アイテムに基づいてステータスバーの操作制御タイプを決定し;決定されたステータスバーの操作制御タイプに基づいて、拡張画面ステータスバー(PcStatusBar)又は標準ステータスバー(StatusBar)のどちらを起動するかを決定する。
いくつかの実施形態では、携帯電話100が非投影モードであるとき、config_statusBarComponentの値はcom.android.systemui.statusbar.phone.PhoneStatusBarであり、SystemBarsは、ステータスバーの操作制御タイプがStatusBarであることを決定する。携帯電話100が投影モードであるとき、config_systemBarComponentの値はcom.android.systemui.statusbar.tablet.TabletStatusBarであり、SystemBarsは、ステータスバーの操作制御タイプがPcStatusBarであることを決定する。
(6)CommandQueueのコールバックインターフェースが、標準ステータスバーにコールバックを追加するために呼び出される。
(7)標準ステータスバーは、レイアウトを初期化し、標準ステータスバーに対応するIstatusBarオブジェクトをStatusBarManagerServiceに登録する。
(8)標準ステータスバーは、標準ステータスバーウィンドウビュー(StatusBarWindowView)を作成し、StatusBarWindowControllerに追加する。
(9)StatusBarWindowControllerは、標準ステータスバーをDisplay1に追加するために、WindowManagerのインターフェースを呼び出して、標準ステータスバーをWMSに追加する。
いくつかの実施形態では、StatusBarの起動プロセスにおいて、CommandQueueオブジェクトが、StatusBarManagerServiceに転送され、mBarとして格納される。クライアントがServiceManagerを介してシステムサービスStatusBarManagerServiceのインターフェースを取得するとき、クライアントはmBarを介してCommandQueueオブジェクトの方法を呼び出すことができる。CommandQueueは、コールバックインターフェースを呼び出して、StatusBarを更新するためにメッセージをStatusBarに送り返す。
(10)標準ステータスバーは、投影Broadcast(Broadcast(ブロードキャスト))を登録するためにステータスバープロンプトマネージャ(StatusBarPromptManager)を呼び出す。
(11)標準ステータスバーが作成された後、通知管理サービス(NotificationManagerService)が、メッセージリスナーを登録するために呼び出される。
(12)投影先デバイスのディスプレイ(DisplayDevice)(つまり、拡張画面)に接続された後、携帯電話100はDMSを呼び出す。
本出願の本実施形態では、携帯電話100は、有線接続を使用して投影先デバイスに接続し得る、又は、NFC、Wi-Fi、Bluetoothなどの無線通信技術を使用して投影先デバイスに接続し得る。
(13)DMSは、表示イベント(OnDisplayevent)をトリガーし、拡張画面に対応する論理表示領域Display1を作成し、Display1のディスプレイIDを取得するために表示管理ターゲット(DisplayManagerGlobal)を呼び出す。
いくつかの実施形態では、DMSは、ディスプレイ(DisplayDevice)の対応する論理デバイス(LogicalDevice)を生成するためにhandleDisplayDeviceAddedLocked関数を呼び出し、DMSによって管理される論理デバイスリスト(mLogicalDevices)にLogicalDeviceを追加し、DisplayDeviceの論理表示領域(LogicalDisplay)(すなわち、拡張画面表示領域Display1)を生成するために、DMSの表示リスト(mDisplayDevices)にDisplayDeviceを追加する。DMSは、論理表示領域のディスプレイIDを決定するためにDisplayManagerGlobalを呼び出す。
(14)DisplayManagerGlobalは、Display1のディスプレイリスニングエージェントを追加するために、ディスプレイイベントをディスプレイリスニングエージェント(DisplaylistenerDelegate)に送信する。
DisplayManagerGlobalは、主にディスプレイマネージャ(Display Manager)とDMSとの間の通信を管理する。
(15)DisplaylistenerDelegateは、表示領域が追加されたことを示す通知(onDisplayAdded)を送信する。
(16)RootActivityContainerは、拡張画面ステータスバーを読み込むために、HwPCManagerServiceを起動する。
本出願の本実施形態では、HwPCManagerServiceへの変更が、投影シナリオで拡張画面デスクトップ及び拡張画面ステータスバーを起動するために、hwPartsPowerOfficeに追加される。
(17)HwPCManagerServiceは、ステータスバープロンプトマネージャ(StatusBarPromptManager)に投影カプセルプロンプトブロードキャストを送信する。
(18)HwPCManagerServiceは、NotificationManagerServiceに投影通知メッセージを送信する。
(19)HwPCManagerServiceは、モード切り替え指示を受信し、この指示は、現在の非投影モードを投影モードに切り替えるように指示する。
本出願の本実施形態では、カプセルプロンプトブロードキャスト及び投影通知メッセージを受信した後、システムUIは、ステータスバーにカプセルプロンプトを表示し、通知センターに投影通知メッセージを表示する。例えば、カプセルプロンプトは、図3Eに示すプロンプトボックス13である。携帯電話100が、プロンプトボックス13の接続制御部303をタップするユーザの入力操作を受信した後、HwPCManagerServiceは、モード切替指示を取得する。例えば、携帯電話100が、コンピュータ200によって送信されたNFC接続応答を受信した後、HwPCManagerServiceは、モード切替指示を受信する。
(20)指示に応答して、HwPCManagerServiceは、ProductiveServiceを起動する。
いくつかの実施形態では、HwPCManagerServiceはProductiveServiceを起動するためにbindServiceを呼び出す。
(21)ProductiveServiceは、拡張画面ステータスバーを起動するためにSystembarsを呼び出す。
いくつかの実施形態では、ProductiveServiceは、拡張画面ステータスバーを起動するためにPcSystembarsを呼び出す。
(22)Systembarsは、構成ファイルに基づいて拡張画面ステータスバーを作成する。
いくつかの実施形態では、Systembarsは、構成config_PcstatusBarComponentを読み取り、ステータスバーの操作制御タイプがPcStatusBarであることを決定し、拡張画面ステータスバーを作成する。
(23)拡張画面ステータスバーは、拡張画面ステータスバーにコールバックを追加するために、CommandQueueのコールバックインターフェースを呼び出す。
(24)拡張画面ステータスバーは、レイアウトを初期化し、拡張画面ステータスバーに対応するIstatusBarオブジェクトをStatusBarManagerServiceに登録する。
(25)拡張画面ステータスバーは、PCステータスバーウィンドウビュー(StatusBarWindowView)を作成し、StatusBarWindowControllerに追加する。
(26)StatusBarWindowControllerは、拡張画面ステータスバーをDisplay1に追加するために、WindowManagerのインターフェースを呼び出して拡張画面ステータスバーをWMSに追加する。
例えば、図15A-1及び図15A-2に示すシステムUIのソフトウェア実装手順を参照して、図15B-1及び図15B-2は、StatusBarのソフトウェア実装例を示している。
図15B-1及び図15B-2に示すように、非投影モードでは、CommandQueueは、1つのステータスバーインスタンス、すなわち、標準ステータスバー又は拡張画面ステータスバーのみをサポートする必要がある。携帯電話は、非投影モードでは標準ステータスバーのみをサポートする必要があり、コンピュータは、非投影モードでは拡張画面ステータスバーのみをサポートする必要があることが理解できる。投影モードでは、CommandQueueは、複数のステータスバーインスタンスをサポートし、複数のステータスバーインスタンスのコールバックを格納する必要がある。例えば、携帯電話100がコンピュータ200に投影されるとき、CommandQueueは、携帯電話100のデフォルト画面表示領域(Display0)に対応する標準ステータスバーと、携帯電話100の拡張画面表示領域(Display1)に対応する拡張画面ステータスバーをサポートする必要がある。
投影モードでは、ステータスバーのコンテキストは、各ステータスバーが対応するディスプレイ情報(ディスプレイIDなど)を取得することを確実にするために調整される必要がある。StatusBarWindowControllerは、複数のステータスバーを追加することもサポートする必要がある。WindowManagerServiceがaddWindow関数を使用してウィンドウを追加するとき、ウィンドウが対応する表示画面に正しく表示されることができるように、ウィンドウのウィンドウステータス(windowState)のディスプレイIDが変更される必要がある。例えば、標準ステータスバーを携帯電話100のデフォルト画面に表示することができ、拡張画面ステータスバーを携帯電話100の拡張画面(すなわち、コンピュータ200の表示画面)に表示することができる。
図15B-1及び図15B-2を参照のこと。SystemUIServiceが起動されるとき、SystemUIServiceは、システムUIのコンポーネント(SystemBarsを含む)を起動するために、SystemUIApplicationのstartServicesIfNeeded関数を呼び出す。
非投影モードでは、SystemBarsが起動された後、SystemBarsは、構成アイテムconfig_statusBarComponentに基づいて、デフォルトのステータスバー(すなわち、携帯電話100の標準ステータスバー)を取得する。SystemBarsは、初期化を実行するために、標準ステータスバーのstart()関数を呼び出す。コールバックは、CommandQueueコンポーネントを使用して設定される。次に、Binderインターフェースが、registerStatusBar関数を使用して、標準ステータスバーに対応するIstatusBarオブジェクトを管理用のStatusBarManagerServiceに登録するために呼び出される。
携帯電話100がディスプレイ(すなわち、コンピュータ200)に接続されると、DMSは、入力チャネルを介してOnDisplayDeviceEventを受信し、DMSはコールバックレコード(CallbackRecord)に基づいて表示イベント(DisplayEvent)を配信する。携帯電話100が非投影モードから投影モードに切り替わった後、DMSは、拡張画面に対応する論理表示領域Display1を作成し、Display1のディスプレイIDを取得するためにDisplayManagerGlobalを呼び出す。DisplayManagerGlobalは、Display1のディスプレイリスニングエージェントを追加するために、ディスプレイイベントをDisplaylistenerDelegateに送信する。システムUIのコンポーネントは、構成ファイルConfig.xml内の構成アイテムconfig_PcSystemUIServiceComponentsを読み取る。SystemBarsが起動された後、SystemBarsは構成アイテムconfig_PcstatusBarComponentに基づいて拡張画面ステータスバーを起動する。図15B-1及び図15B-2に示すように、投影モードでは、SystemBarsは、初期化を実行するために拡張画面ステータスバーのstart()関数を呼び出す。コールバックが、CommandQueueコンポーネントを使用して設定される。次に、Binderインターフェースが、registerStatusBar関数を使用して、拡張画面ステータスバーに対応するIstatusBarオブジェクトを管理用のStatusBarManagerServiceに登録するために呼び出される。次に、拡張画面ステータスバーは、StatusBarWindowViewを作成し、StatusBarWindowControllerに追加する。StatusBarWindowControllerは、拡張画面ステータスバーをWMSに追加するために、WindowManagerのインターフェースを呼び出す。WMSは、ウィンドウ管理ターゲット(WindowManagerGlobal)のViewRootImplとIwindowSessionを呼び出し、拡張画面ステータスバーに対応するウィンドウのWindowStateのディスプレイIDをDisplay1のIDに変更する。
図15B-1及び図15B-2に示すように、StatusBarManagerServiceは、ArryMapリスト及びSpareArryリストを含む。ArryMapリストは、StatusBarManagerServiceに登録された複数のIsatusBarオブジェクトのBinderオブジェクトを保持する。SpareArryリストは、複数のディスプレイのUistateオブジェクトと複数の標準ステータスバーとの間の対応を保持する。
例えば、図15C-1及び図15C-2は、本出願の一実施形態によるランチャーのソフトウェア実装手順を示している。次に、図に示すソフトウェア実装手順について詳細に説明する。
まず、本出願の本実施形態では、投影モードで拡張画面表示をサポートする必要があるため、カテゴリオプション"android.intent.category.SECONDARY_HOME"がアプリケーションのAndroidMainfest.xml内のPcHomeLauncherノードのインテントフィルター構成に追加されることが留意される必要がある。このオプションは、拡張画面デスクトップを表すために使用される。
非投影モードでは、前述のステップ(2)において、SystemServerはランチャーを含むシステムの実行に必要な一連のサービスを起動する。
具体的には、SystemServerプロセスは、起動中にPMSとAMSを起動する。起動後、PackageManagerServiceはアプリケーションAPKを解析し、システムにインストールする。AMSは、主に4つの主要コンポーネントを起動及び管理するために使用される。ランチャーを起動するためのエントリが、AMSのsystemReady方法である。
(31)AMSは、StartHomeOnAllDisplays方法を使用してランチャーを起動する。
(32)アクティビティタスクマネージャ(ActivityTaskManagerinternal)が、ランチャーを起動するためにStartHomeOnDisplaysを呼び出す。
(33)RootActivityContainerは、ディスプレイIDがデフォルト画面表示領域(すなわち、Display0)のIDであるかどうかを決定する。ディスプレイIDがデフォルト画面表示領域のIDである場合、標準デスクトップアクティビティが解決され(resolveHomeActivity)、ステップ(34)が実行される;又は、ディスプレイIDがデフォルト画面表示領域のIDでない場合、拡張画面デスクトップのアクティビティが解決され(resolveSecondaryHomeActivity)、ステップ(37)が実行される。
いくつかの実施態様では、ディスプレイIDがDisplay0のIDである場合、PMSは、CATEGORY_HOMEのアクティビティを照会し、デスクトップとして使用する;又は、ディスプレイIDがDisplay1のIDである場合、PMSは、SECONDARY_HOMEのアクティビティを照会し、デスクトップとして使用する。
(34)アクティビティスタートコントローラ(ActivityStartController)は、アクティビティスターター(ActivityStarter)を呼び出す。
(35)ActivityStarterは標準デスクトップを起動するためにstartHomeActivityLockedを呼び出す。
投影モードでは、ステップ(12)から(16)については、図15A-1及び図15A-2の関連説明を参照されたい。
ステップ(12)から(16)の実行中、DisplayManagerServiceは、表示領域Displayを追加するときにonDisplayAdded通知を送信する。通知を受信すると、PCモジュール(hwPartsPowerOffice)のHwPCManagerServiceは、startHomeOnDisplayを使用して拡張画面のランチャー(すなわち、PcHomeLauncher)を起動する。
(36)HwPCManagerServiceは、BindServiceを使用してPCデスクトップサービス(HwHomeService)を呼び出す。
(37)HwHomeServiceは、StartHomeOnProductiveDisplayを使用してAMSを呼び出す。
(38)AMSは、PcHomeLauncherを起動するためにStartHomeOnAllDisplays方法を呼び出す。
(39)アクティビティタスクマネージャは、PcHomeLauncherを起動するためにStartHomeOnDisplaysを呼び出す。
次に、ステップ(33)が実行され、拡張画面デスクトップのアクティビティがステップ(33)において取得され(resolveSecondaryHomeActivity);ステップ(40)が実行される。
(40)アクティビティスタートコントローラ(ActivityStartController)は、アクティビティスターター(ActivityStarter)を呼び出す。
(41)ActivityStarterは拡張画面デスクトップを起動するためにstartHomeActivityLockedを呼び出す。
上記の実施形態に基づいて、本出願の一実施形態は、画面投影方法を提供する。投影方法は、ステップS201~S205を含むが、これに限定されない。
S201:第1の電子デバイスが、第1のデスクトップを実行するために第1のアプリケーションの第1のモジュールを呼び出し、第1のデスクトップは第1の表示領域に関連付けられる;第1の電子デバイスは、第1の表示領域に基づいて第1の表示コンテンツを表示し、第1の表示コンテンツは第1のデスクトップを含む。
S202:第1のユーザ操作に応答して、第1の電子デバイスは、第2のデスクトップを実行するために第1のアプリケーションの第2のモジュールを呼び出し、第2のデスクトップは第2の表示領域に関連付けられる;第1の電子デバイスは、第2の表示領域に対応する第2の表示コンテンツを第2の電子デバイスに送信し、第2の表示コンテンツは第2のデスクトップを含む。
本出願の本実施形態では、第1の電子デバイスは、前述の電子デバイス100、例えば、携帯電話100であり得る;第2の電子デバイスは、前述の電子デバイス200、例えば、コンピュータ200であり得る。第1のアプリケーションは、前述のデスクトップランチャー、例えば、HWLauncher6であり得る;第1のモジュールは、標準デスクトップランチャー、例えば、UniHomelauncherであり得る;第2のモジュールは、拡張画面デスクトップランチャー、例えば、PcHomelauncherであり得る。第1のデスクトップは、前述の標準デスクトップであり得、第2のデスクトップは、前述の拡張画面デスクトップであり得る。第1の表示領域は、前述のデフォルト画面表示領域、すなわち、Display0であり得る;第2の表示領域は、前述の拡張画面表示領域、すなわち、Display1であり得る。
例えば、第1の表示コンテンツは、図3Aに示す携帯電話100によって表示されるユーザインターフェースであり得、第1のデスクトップは、図3Aに示すデスクトップであり得る。第2の表示コンテンツは、図3Gに示すように、携帯電話100によって送信された投影データに基づいてコンピュータ200によって表示されるユーザインターフェースであり得る;第2のデスクトップは、図3Gに示すデスクトップであり得る。
S203:第1の表示コンテンツに実行された第2のユーザ操作に応答して、第1の電子デバイスは、第1の表示領域で実行されるタスクスタックに基づいて第3の表示コンテンツを表示する。
例えば、第1の表示コンテンツは、図3Aに示す携帯電話100によって表示されるユーザインターフェース11であり得、第2のユーザ操作は、図3Aに示すユーザインターフェース11のステータスバーに実行される下方スライド操作であり得、第3の表示コンテンツは、図3Bに示すコントロールセンターインターフェース12であり得る。
S204:第2の電子デバイスによって表示される第2の表示コンテンツに対して実行された第3のユーザ操作に応答して、第1の電子デバイスは、第2の表示領域で実行されるタスクスタックに基づいて、第2の表示領域に対応する表示コンテンツが第4の表示コンテンツであると決定する。
S205:第1の電子デバイスは、第4の表示コンテンツを第2の電子デバイスに送信する。
例えば、第2の表示コンテンツは、図3Gに示すコンピュータ200によって表示されるユーザインターフェース16であり得、第2のユーザ操作は、ユーザインターフェース16に表示されるインターフェース要素(例えば、ステータスバー401内のアイコン、検索バー402、又はドックバー403内のアイコン)に対して実行される入力操作であり得る。例えば、インターフェース要素は、ステータスバー401の通知センターアイコン401Aであり、第4の表示コンテンツは、図4Aに示すユーザインターフェース16及び通知センターウィンドウ17を含み得る。
第1の電子デバイスは、第2の電子デバイスを用いて第3のユーザ操作を受けることが留意される必要がある。第3のユーザ操作を受けた後、第2の電子デバイスは、第1の入力イベントを決定し、第1の入力イベントは第3の入力操作を示す。例えば、第1の入力イベントは、第2の電子デバイスの表示画面上で実行される第3の入力操作の座標、第3の入力操作の操作タイプ(例えば、タッチ操作又はマウスクリック操作)等を含む。第2の電子デバイスは、第1の入力イベントを第1の電子デバイスに送信する;第1の電子デバイスは、第1の入力イベント及び第2の表示領域で実行されるタスクスタックに基づいて、第1の入力イベントによって示される第3の入力操作を決定し、第3の入力操作に対応する応答イベントを実行する。応答イベントが実行された後、第2の表示領域に対応する表示コンテンツは第4の表示コンテンツに更新される。第1の表示デバイスは、更新された第4の表示コンテンツを第2の表示デバイスに送信し、第2の表示デバイスは、第4の表示コンテンツを表示する。
本出願の本実施形態では、第1の電子デバイスは、同じアプリケーションを使用することによる異なる表示領域での複数のデスクトップインスタンスの同時実行、例えば、第1のアプリケーションの第1のモジュールを使用することによる第1の表示領域で第1のデスクトップを実行すること、及び第1のアプリケーションの第2のモジュールを使用することによる第2の表示領域で第2のデスクトップを実行することをサポートする。第1の電子デバイスは、第1の表示領域で実行されるタスクスタックに基づいて、第1の電子デバイスのホーム画面上の表示コンテンツを決定し;第2の表示領域で実行されるタスクスタックに基づいて、第2の電子デバイスに投影される表示コンテンツを決定する。このようにして、第1の電子デバイス及び第2の電子デバイスは、2つの異なる表示領域に基づいて、異なるデスクトップ及び他の異なるコンテンツを表示し得る。
いくつかの実施形態では、第1の表示コンテンツに対して実行される第2のユーザ操作に応答して、第1の電子デバイスが第1の表示領域で実行されるタスクスタックに基づいて第3の表示コンテンツを表示することは次のことを含む:第1の表示コンテンツにおいて第1のデスクトップに対して実行される第2のユーザ操作に応答して、第1の電子デバイスは、第1のアプリケーションのタスクスタックであり、第1の表示領域で実行されるタスクスタックに基づいて第3の表示コンテンツを表示する;第2の電子デバイスによって表示される第2の表示コンテンツに対して実行される第3のユーザ操作に応答して、第1の電子デバイスが第2の表示領域に対応する表示コンテンツが、第2の表示領域で実行されるタスクスタックに基づいて第4の表示コンテンツであると決定することは次のことを含む:第2の電子デバイスによって表示される第2のデスクトップに対して実行される第3のユーザ操作に応答して、第1の電子デバイスは、第2の表示領域に対応する表示コンテンツが、第1のアプリケーションのタスクスタックであり、第2の表示領域で実行されるタスクスタックに基づいて第4の表示コンテンツであると決定する。
例えば、第1の表示コンテンツは、図3Aに示すデスクトップ(つまり、第1のデスクトップ)上のアプリケーションアイコン(例えば、ギャラリーのアイコン)であり得、第2のユーザ操作は、このアプリケーションアイコンに対して実行されるタッチ操作であり得る。第2のユーザ操作に応答して、携帯電話100は、デスクトップランチャーのタスクスタックであってDisplay0で実行されるタスクスタック(例えば、前述のデスクトップタスクスタックHomestack)に基づいて、第2のユーザ操作に対応する応答イベントを決定する。例えば、第2の表示コンテンツは、図6A-1及び図6A-2に示すコンピュータ200によって表示されるデスクトップ(つまり、第2のデスクトップ)であり得、第3のユーザ操作は、ユーザインターフェース16に表示されるドックバー403のアプリケーションリストアイコン701Aに対して実行される入力操作であり得る。第3のユーザ操作に応答して、携帯電話100は、デスクトップランチャーのタスクスタックであって、Display1で実行されるタスクスタック(例えば、前述のデスクトップタスクスタックHomestack)に基づいて、第3のユーザ操作に対応する応答イベントを決定し、その応答イベントを実行し、その後、第2の表示領域に対応する更新された第4の表示コンテンツ(すなわち、図6A-1及び図6A-2に示すユーザインターフェース24)をコンピュータ200に送信する。コンピュータ200は、図6A-1及び図6A-2に示すユーザインターフェース24を表示する。
本出願の本実施形態では、第1のデスクトップに対して実行される第2のユーザ操作について、第1の電子デバイスは、第1のアプリケーションのタスクスタックであり、第1のデスクトップに関連付けられる表示領域で実行されるタスクスタックに基づいて、第2のユーザ操作に対応する応答イベントを実行し得;第2のデスクトップに対して実行される第3のユーザ操作について、第1の電子デバイスは、第1のアプリケーションのタスクスタックであり、第2のデスクトップに関連付けられる表示領域で実行されるタスクスタックに基づいて、第3のユーザ操作に対応する応答イベントを実行し得る。これにより、異なるデスクトップのイベント(入力イベント及び/又は応答イベント)間のデータ分離を確保することができる。加えて、両方のデスクトップインスタンスが第1のアプリケーションのモジュールによって実行されるため、2つのデスクトップは指定されたデータの共有を実装でき、第2のデスクトップは第1のデスクトップの一部又はすべての機能的特徴を継承できる。
いくつかの実施形態では、第1の電子デバイスが第1の表示領域に基づいて第1の表示コンテンツを表示する前に、方法はさらに次のことを含む:第1の電子デバイスは、第1のステータスバーを実行するために第2のアプリケーションの第3のモジュールを呼び出し、第1のステータスバーは第1の表示領域に関連付けられ、第1の表示コンテンツは第1のステータスバーを含む;方法はさらに次のことを含む:第1のユーザ操作に応答して、第1の電子デバイスは、第2のステータスバーを実行するために第2のアプリケーションの第4のモジュールを呼び出し、第2のステータスバーは第2の表示領域に関連付けられ、第2の表示コンテンツは第2のステータスバーを含む。
本出願の本実施形態では、第1のユーザ操作は、第1の電子デバイスの第2の電子デバイスへの投影をユーザによって決定する入力操作である。いくつかの実施形態では、ステップS202において、投影指示に応答して、第1の電子デバイスは、第2のデスクトップを実行するために第1のアプリケーションの第2のモジュールを呼び出し、第2のステータスバーを実行するために第2のアプリケーションの第4のモジュールを呼び出し、第2のデスクトップと第2のステータスバーの両方は第2の表示領域に関連付けられている。例えば、投影指示については、前述の実施形態における投影指示又はモード切替指示を参照されたい。
本出願の本実施形態では、第2のアプリケーションは、前述のシステムインターフェース、例えば、システムUIであり得る;第3のモジュールは、標準ステータスバー、例えば、StatusBarであり得る;第4のモジュールは、拡張画面ステータスバー、例えば、PcStatusBarであり得る。第1のステータスバーは、前述の標準ステータスバーであり得、第2のステータスバーは、前述の拡張画面ステータスバーであり得る。
例えば、第1のステータスバーは、図3Aに示すステータスバー101であり得、第2のステータスバーは、図3Gに示すステータスバー401であり得る。
本出願の本実施形態では、第1の電子デバイスは、同じアプリケーションを使用して異なる表示領域における複数のステータスバーインスタンスの同時実行、例えば、第2のアプリケーションの第3のモジュールを使用して第1の表示領域において第1のステータスバーを実行すること、第2のアプリケーションの第4のモジュールを使用して第2の表示領域において第2のステータスバーを実行することをサポートする。このように、2つのステータスバーが異なる表示領域に関連付けられているため、第1の電子デバイスと第2の電子デバイスは、異なるステータスバーを表示し得、それによって、2つのステータスバーのイベント(入力イベント及び/又は応答イベント)間のデータ分離を確保する。さらに、両方のステータスバーが第2のアプリケーションのモジュールによって実行されるため、2つのステータスバーは、指定されたデータ(例えば、通知メッセージ)の共有を実装することができ、第2のステータスバーは、第1のステータスバーの一部又はすべての機能的特徴を継承することができる。
いくつかの実施形態では、第1の電子デバイスが第1の表示領域に基づいて第1の表示コンテンツを表示する前に、方法はさらに次のことを含む:第1の電子デバイスは第1の変数の第1の表示オブジェクトを実行するために第3のアプリケーションの第5のモジュールを呼び出し、第1の変数は第1の表示領域に関連付けられ、第1の表示コンテンツは第1の表示オブジェクトを含む;第1の変数は第2の表示領域に関連付けられ、第2の表示コンテンツは第1の表示オブジェクトを含む。
本出願の本実施形態では、第1の電子デバイスは、複数の異なる表示領域における同じ変数に対応する表示オブジェクトの同時表示をサポートする。本出願の本実施形態では、第3のアプリケーションと第2のアプリケーションは、同じアプリケーションであり得る、又は、異なるアプリケーションであり得る。これは、本明細書において特に限定されるものではない。
いくつかの実施形態では、本方法はさらに次のことを含む:第1の表示コンテンツに対して実行される第4のユーザ操作に応答して、第3のアプリケーションの第5のモジュールは、第1の変数の表示オブジェクトを第2の表示オブジェクトに変更するために呼び出される;第1の電子デバイスは、第1の表示領域に対応する表示コンテンツを第5の表示コンテンツに更新し、第5の表示コンテンツが第2の表示オブジェクトを含む;第1の電子デバイスは、第2の表示領域に対応する表示コンテンツを第6の表示コンテンツに更新し、第2の電子デバイスに第6の表示コンテンツを送信し、第6の表示コンテンツが第2の表示オブジェクトを含む。
本出願の本実施形態では、第1の電子デバイスは、複数の異なる表示領域における同じ変数に対応する表示オブジェクトの同時表示をサポートする。ユーザが第1の表示領域における第1の変数の表示オブジェクトを変更した後、第2の表示領域における第1の変数の表示オブジェクトもそれに応じて変わる。
いくつかの実施形態では、第1の変数は壁紙の表示オブジェクトを示し、壁紙の表示オブジェクトは静止画及び/又は動画であり、壁紙は、画面がロックされているときに使用されるロック画面壁紙及び/又は画面がロックされていないときに使用されるデスクトップ壁紙を含む。
本出願の本実施形態では、第3のアプリケーションは、システムインターフェース(システムUI)又は壁紙アプリケーションであり得る。例えば、第5のモジュールは、壁紙管理サービス、例えば、WallpaperManagerServiceであり得る。
例えば、壁紙の第1の表示オブジェクトは、第1の表示領域に、図3Aに示すデスクトップ壁紙107として表示される;壁紙の第1の表示オブジェクトは、第2の表示領域に、図3Gに示すデスクトップ壁紙404として表示される。デスクトップ壁紙107とデスクトップ壁紙404は、同じピクチャに由来する。
例えば、壁紙の第1の表示オブジェクトは、第1の表示領域に図10Bに示すロック画面上のロック画面壁紙902として表示される;壁紙の第1の表示オブジェクトは、第2の表示領域に図10Aに示すロック画面上のロック画面壁紙901として表示される。デスクトップ壁紙107とデスクトップ壁紙404は、同じピクチャに由来する。
本出願の本実施形態では、ユーザが第1の電子デバイスに表示される壁紙を変更した後、第2の電子デバイスに投影される壁紙もそれに応じて変わる。
いくつかの実施形態では、複数のテーマが第1の電子デバイスに予め設定されており、テーマはデスクトップレイアウトスタイル、アイコン表示スタイル及び/又はインターフェースの色などを示す;第1の変数はテーマの表示オブジェクトを示し、テーマの表示オブジェクトは複数のテーマのうちの1つに対応する表示コンテンツである。
本出願の本実施形態では、ユーザが第1の電子デバイスに表示されるテーマを変更した後、第2の電子デバイスに投影されるテーマもそれに応じて変わる。
いくつかの実施形態では、第1のアプリケーションの第1のモジュールは、第1のデスクトップを作成及び実行するために使用される第1の共通クラス、第1のユーザインターフェースUI制御クラス、及び第1のデスクトップのデスクトップタスクスタックを含む;第1のアプリケーションの第2のモジュールは、第2のデスクトップを作成及び実行するために使用される第2の共通クラス、第2のUI制御クラス、及び第2のデスクトップのデスクトップタスクスタックを含み、第2の共通クラスの一部又はすべてのクラスは第1の共通クラスから継承され、第2のUI制御クラスの一部又はすべてのクラスは第1のUI制御クラスから継承される。
本出願の本実施形態では、第2のデスクトップを作成及び実行するために使用される第2の共通クラス、第2のUI制御クラス、及び第2のデスクトップのデスクトップタスクスタックは、第1の電子デバイスに追加される;追加された共通クラス及びUI制御クラスの一部又はすべては、元の第1のデスクトップに対応する第1の共通クラス及び第1のUI制御クラスから継承される。したがって、第2のデスクトップは第1のデスクトップのいくつかの機能的特徴を継承でき、2つのデスクトップは指定されたデータの共有を実装できる。
いくつかの実施形態では、第2の共通クラスは、次のうちの1つ以上を含む:デスクトップランチャープロバイダ、データベースアシスタント、デスクトップランチャー設定クラス、デスクトップランチャー定数クラス、PCレイアウト構成、PCデバイスファイル、PCセルカウンタ、PCデスクトップランチャーポリシー、PCデスクトップランチャーモデル、PCローディングタスクなど;第2のUI制御クラスは、次のうちの1つ以上を含む:PCドラッグレイヤ、PCデスクトップワークスペース、PCセルレイアウト、PCプログラムドックビュー、PCフォルダ、PCフォルダイコンなど。
例えば、第2の共通クラスは図13A及び図13Bに示す共通クラスであってもよく、第2のUI制御クラスは図13A及び図13Bに示すUI制御クラスであってもよく、第1のデスクトップのデスクトップタスクスタックは図13A及び図13Bに示す標準デスクトップのタスクスタックであってもよく、第2のデスクトップのデスクトップタスクスタックは図13A及び図13Bに示す拡張画面デスクトップのタスクスタックであってもよい。
いくつかの実施形態では、第2のアプリケーションの第3のモジュールは、第1のステータスバーを作成及び実行するために使用される第1のコンポーネント、第1の依存関係制御クラス、及び第3のUI制御クラスを含む;第1のアプリケーションの第2のモジュールは、第2のステータスバーの作成と実行に使用される第2のコンポーネント、第2の依存関係制御クラス、及び第4のUI制御クラスを含み、第2のコンポーネントの一部又はすべてのコンポーネントは第1のコンポーネントから継承され、第2の依存関係制御クラスの一部又はすべてのクラスは第1の依存関係制御クラスから継承され、第4のUI制御クラスの一部又はすべてのクラスは第3のUI制御クラスから継承される。
本出願の本実施形態では、第2のステータスバーを作成及び実行するために使用される第2のコンポーネント、第2の依存関係制御クラス、及び第4のUI制御クラスは、第1の電子デバイスに追加される;追加されたコンポーネント、依存関係制御クラス、及びUI制御クラスの一部又はすべては、元の第1のステータスバーに対応する第1のコンポーネント、第1の依存関係制御クラス、及び第3のUI制御クラスから継承される。したがって、第2のステータスバーは第1のステータスバーのいくつかの機能的特徴を継承でき、2つのステータスバーは指定されたデータの共有を実装できる。
いくつかの実施形態では、第2のコンポーネントは、次のうちの1つ以上を含む:PC依存性クラス、PCシステムプロバイダ、PCシステムバー、及び第2のステータスバー;第2の依存関係制御クラスは、次のうちの1つ以上を含む:PCステータスバーウィンドウ制御クラス、画面制御クラス、ロック画面制御クラス、及びリモート制御クラス;第4のUI制御クラスは、次のうちの1つ以上を含む:PCステータスバーウィンドウビュー、PC通知パネルビュー、PCクイック設定フラグメント、PCステータスバーフラグメント、及びPCステータスバービュー。
例えば、第1のコンポーネント、第1の依存関係制御クラス、及び第3のUI制御クラスは、それぞれ、標準ステータスバーを実装するための図12A、図12B、図12Cに示したコンポーネント、依存関係制御クラス、UI制御クラスであり得る。第2のコンポーネント、第2の依存関係制御クラス、第4のUI制御クラスは、それぞれ、拡張画面ステータスバーを実装するための図12A、図12B、図12Cに示したコンポーネント、依存関係制御クラス、UI制御クラスであり得る。
いくつかの実施形態では、第2のモジュールに関連する表示領域の識別IDは、第2の表示領域のIDである;第1のユーザ操作に応答して、第1の電子デバイスが、第2のデスクトップを実行するために、第1のアプリケーションの第2のモジュールを呼び出し、第2のデスクトップが第2の表示領域に関連付けられていることは次のことを含む:第1のユーザ操作に応答して、PC管理サービスは、モード切り替え指示を受信し、指示は、現在の非投影モードを投影モードに切り替えるように指示する;指示に応答して、PC管理サービスはPCデスクトップサービスを呼び出し、PCデスクトップサービスはアクティビティ管理サービスを呼び出し、アクティビティ管理サービスは、第1のアプリケーションの第2のモジュールを起動するためにアクティビティタスクマネージャを呼び出す;ルートアクティビティコンテナが第2のモジュールに関連付けられている表示領域のIDを決定するために呼び出される;第2のモジュールに関連付けられている表示領域のIDが第2の表示領域のIDであるとき、第2のデスクトップのActivity(アクティビティ)が照会され、起動されることになるデスクトップのActivityとして使用される、又は第2のモジュールに関連付けられている表示領域のIDが第1の表示領域のIDであるとき、第1のデスクトップのActivityが照会され、起動されることになるデスクトップのActivityとして使用される;アクティビティ起動コントローラが第2のデスクトップを起動するためにアクティビティスターターを呼び出す。
いくつかの実施形態では、第1のユーザ操作に応答して、第1の電子デバイスが第2のステータスバーを実行するために第2のアプリケーションの第4のモジュールを呼び出し、第2のステータスバーが第2の表示領域に関連付けられていることは次のことを含む:第1のユーザ操作に応答して、PC管理サービスはモード切り替え指示を受信し、指示は現在の非投影モードを投影モードに切り替えるように指示する;指示に応答して、PC管理サービスは生産性サービスを起動し、生産性サービスは第2のステータスバーをきどうするためにシステムバーを呼び出し、システムバーは構成ファイルに基づいて第2のステータスバーを作成する;第2のステータスバーは、第2のステータスバーにコールバックを追加するためにコマンドキューのコールバックインターフェースを呼び出す;第2のステータスバーはレイアウトを初期化し、第2のステータスバーに対応するIstatusBarオブジェクトをステータスバー管理サービスに登録する;第2のステータスバーは、PCステータスバーウィンドウビューを作成し、PCステータスバーウィンドウビューをステータスバーウィンドウ制御クラスに追加する;ステータスバーウィンドウ制御クラスは、第2の表示領域に第2のステータスバーを追加するために、ウィンドウ管理インターフェースを呼び出して第2のステータスバーをウィンドウ管理サービスに追加する。
いくつかの実施形態では、非投影モードでは、コマンドキューは第1の表示領域に関連付けられた第1のステータスバーをサポートする;投影モードでは、コマンドキューは第1の表示領域に関連付けられた第1のステータスバーと第2の表示領域に関連付けられた第2のステータスバーの両方をサポートする。
本出願の実装は、異なる技術的効果を達成するために必要に応じて組み合わせることができる。
前述の実施形態のすべて又は一部は、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせによって実装され得る。ソフトウェアが実装に使用される場合、前述の実施形態のすべて又は一部は、コンピュータプログラム製品の形式で実装され得る。コンピュータプログラム製品は、1つ以上のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータにロードされて実行されるとき、本出願による手順又は機能が全て又は部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は他のプログラム可能な装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に格納され得る又はコンピュータ可読記憶媒体から他のコンピュータ可読記憶媒体に送信され得る。例えば、コンピュータ命令は、有線(例えば、同軸ケーブル、光ファイバ、又はデジタル加入者線)又は無線(例えば、赤外線、電波、マイクロ波)の方法で、ウェブサイト、コンピュータ、サーバ又はデータセンターから他のウェブサイト、コンピュータ、サーバ又はデータセンターに送信され得る。コンピュータ可読記憶媒体は、コンピュータにアクセス可能な任意の使用可能な媒体、又は1つ以上の使用可能な媒体を統合したデータ記憶デバイス、例えばサーバ又はデータセンターであり得る。使用可能な媒体は、磁気媒体(例えば、フロッピー(登録商標)ディスク、ハードディスク、又は磁気テープ)、光学媒体(例えば、DVD)、半導体媒体(例えば、ソリッドステートディスク(solid state disk、SSD))などであり得る。
当業者であれば、実施形態における方法の手順のすべて又は一部は、関連するハードウェアを指示するコンピュータプログラムによって実装され得ることを理解し得る。プログラムは、コンピュータ可読記憶媒体に格納され得る。プログラムが実行されるとき、実施形態における方法の手順が実行される。前述の記憶媒体は、ROM、ランダムアクセスメモリRAM、磁気ディスク、又は光ディスクなどのプログラムコードを記憶することができる任意の媒体を含む。
結論として、前述の説明は、本発明の技術的解決策の実施形態に過ぎず、本発明の保護範囲を限定することを意図するものではない。本発明の開示に従ってなされたいかなる修正、均等置換又は改良も、本発明の保護範囲内にあるものとする。

Claims (17)

  1. 画面投影方法であって:
    第1の電子デバイスにより、第1のデスクトップを実行するために第1のアプリケーションの第1のモジュールを呼び出すステップであって、前記第1のデスクトップは第1の表示領域に関連付けられる、ステップと;
    前記第1の電子デバイスにより、前記第1の表示領域に基づいて第1の表示コンテンツを表示するステップであって、前記第1の表示コンテンツは前記第1のデスクトップを含む、ステップと;
    第1のユーザ操作に応答して前記第1の電子デバイスにより、第2のデスクトップを実行するために前記第1のアプリケーションの第2のモジュールを呼び出すステップであって、前記第2のデスクトップは第2の表示領域に関連付けられる、ステップと;
    前記第1の電子デバイスにより、前記第2の表示領域に対応する第2の表示コンテンツを第2の電子デバイスに送信するステップであって、前記第2の表示コンテンツは前記第2のデスクトップを含む、ステップと;
    前記第1の表示コンテンツに対して実行される第2のユーザ操作に応答して前記第1の電子デバイスにより、前記第1の表示領域で実行されるタスクスタックに基づいて第3の表示コンテンツを表示するステップと;
    前記第2の電子デバイスによって表示される前記第2の表示コンテンツに対して実行される第3のユーザ操作に応答して前記第1の電子デバイスにより、前記第2の表示領域に対応する表示コンテンツが、前記第2の表示領域で実行されるタスクスタックに基づいて第4の表示コンテンツであると決定するステップと;
    前記第1の電子デバイスにより、前記第4の表示コンテンツを前記第2の電子デバイスに送信するステップと;
    を含む、
    方法。
  2. 前記第1の表示コンテンツに対して実行される第2のユーザ操作に応答して前記第1の電子デバイスにより、前記第1の表示領域で実行されるタスクスタックに基づいて第3の表示コンテンツを表示する前記ステップは:
    前記第1の表示コンテンツにおいて前記第1のデスクトップに対して実行される前記第2のユーザ操作に応答して前記第1の電子デバイスにより、前記第1のアプリケーションのタスクスタックであって、前記第1の表示領域で実行されるタスクスタックに基づいて前記第3の表示コンテンツを表示することを含み;
    前記第2の電子デバイスによって表示される前記第2の表示コンテンツに対して実行される第3のユーザ操作に応答して前記第1の電子デバイスにより、前記第2の表示領域に対応する表示コンテンツが、前記第2の表示領域で実行されるタスクスタックに基づいて第4の表示コンテンツであると決定する前記ステップは:
    前記第2の電子デバイスによって表示される前記第2のデスクトップに対して実行される前記第3のユーザ操作に応答して前記第1の電子デバイスにより、前記第2の表示領域に対応する前記表示コンテンツが、前記第1のアプリケーションのタスクスタックであって前記第2の表示領域で実行されるタスクスタックに基づいて前記第4の表示コンテンツであると決定することを含む、
    請求項1に記載の方法。
  3. 前記第1の電子デバイスにより、前記第1の表示領域に基づいて第1の表示コンテンツを表示する前記ステップの前に、前記方法はさらに:
    前記第1の電子デバイスにより、第1のステータスバーを実行するために第2のアプリケーションの第3のモジュールを呼び出すステップであって、前記第1のステータスバーは前記第1の表示領域に関連付けられ、前記第1の表示コンテンツは前記第1のステータスバーを含む、ステップを含み、
    前記方法はさらに:
    前記第1のユーザ操作に応答して前記第1の電子デバイスにより、第2のステータスバーを実行するために前記第2のアプリケーションの第4のモジュールを呼び出すステップであって、前記第2のステータスバーは前記第2の表示領域に関連付けられ、前記第2の表示コンテンツは前記第2のステータスバーを含む、ステップを含む、
    請求項1に記載の方法。
  4. 前記第1の電子デバイスにより、前記第1の表示領域に基づいて第1の表示コンテンツを表示する前記ステップの前に、前記方法はさらに:
    前記第1の電子デバイスにより、第1の変数の第1の表示オブジェクトを実行するために第3のアプリケーションの第5のモジュールを呼び出すステップであって、前記第1の変数は、前記第1の表示領域に関連付けられ、前記第1の表示コンテンツは、前記第1の表示オブジェクトを含む、ステップを含み;前記第1の変数は、前記第2の表示領域に関連付けられ、前記第2の表示コンテンツは、前記第1の表示オブジェクトを含む、
    請求項1に記載の方法。
  5. 前記方法はさらに:
    前記第1の表示コンテンツに対して実行される第4のユーザ操作に応答して、前記第1の変数の前記表示オブジェクトを第2の表示オブジェクトに変更するために前記第3のアプリケーションの前記第5のモジュールを呼び出すステップと;
    前記第1の電子デバイスにより、前記第1の表示領域に対応する表示コンテンツを第5の表示コンテンツに更新するステップであって、前記第5の表示コンテンツは前記第2の表示オブジェクトを含む、ステップと;
    前記第1の電子デバイスにより、前記第2の表示領域に対応する前記表示コンテンツを第6の表示コンテンツに更新するステップ、及び、前記第6の表示コンテンツを前記第2の電子デバイスに送信するステップであって、前記第6の表示コンテンツは前記第2の表示オブジェクトを含む、ステップと;
    を含む、
    請求項4に記載の方法。
  6. 前記第1の変数は、壁紙の表示オブジェクトを示し、前記壁紙の前記表示オブジェクトは、静止画像及び/又は動画像であり、前記壁紙は、画面がロックされているときに使用されるロック画面壁紙及び/又は前記画面がロックされていないときに使用されるデスクトップ壁紙を含む、
    請求項4又は5に記載の方法。
  7. 複数のテーマが前記第1の電子デバイスに予め設定され、前記テーマは、デスクトップレイアウトスタイル、アイコン表示スタイル及び/又はインターフェースカラー等を示し;
    前記第1の変数は前記テーマの表示オブジェクトを示し、前記テーマの前記表示オブジェクトは前記複数のテーマのうちの1つに対応する表示コンテンツである、
    請求項4又は5に記載の方法。
  8. 前記第1のアプリケーションの前記第1のモジュールは、前記第1のデスクトップを作成及び実行するために使用される第1の共通クラス、第1のユーザインターフェースUI制御クラス、及び前記第1のデスクトップのデスクトップタスクスタックを含み;前記第1のアプリケーションの前記第2のモジュールは、前記第2のデスクトップを作成及び実行するために使用される第2の共通クラス、第2のUI制御クラス、及び前記第2のデスクトップのデスクトップタスクスタックを含み、前記第2の共通クラスの一部又はすべてのクラスは、前記第1の共通クラスから継承され、前記第2のUI制御クラスの一部又はすべてのクラスは、前記第1のUI制御クラスから継承される、
    請求項1に記載の方法。
  9. 前記第2の共通クラスは:デスクトップランチャープロバイダ、データベースアシスタント、デスクトップランチャー設定クラス、デスクトップランチャー定数クラス、PCレイアウト構成、PCデバイスファイル、PCセルカウンタ、PCデスクトップランチャーポリシー、PCデスクトップランチャーモデル、PCローディングタスクなどのうちの1つ以上を含み;
    前記第2のUI制御クラスは:PCドラッグレイヤ、PCデスクトップワークスペース、PCセルレイアウト、PCプログラムドックビュー、PCフォルダ、PCフォルダイコンなどのうちの1つ以上を含む、
    請求項8に記載の方法。
  10. 前記第2のアプリケーションの前記第3のモジュールは、前記第1のステータスバーを作成及び実行するために使用される第1のコンポーネント、第1の依存関係制御クラス、及び第3のUI制御クラスを含み;前記第1のアプリケーションの前記第2のモジュールは、前記第2のステータスバーを作成及び実行するために使用される第2のコンポーネント、第2の依存関係制御クラス、及び第4のUI制御クラスを含み、前記第2のコンポーネント内の一部又はすべてのコンポーネントは前記第1のコンポーネントから継承され、前記第2の依存関係制御クラス内の一部又はすべてのクラスは前記第1の依存関係制御クラスから継承され、前記第4のUI制御クラス内の一部又はすべてのクラスは前記第3のUI制御クラスから継承される、
    請求項1に記載の方法。
  11. 前記第2のコンポーネントは:PC依存性クラス、PCシステムプロバイダ、PCシステムバー、及び前記第2のステータスバーのうちの1つ以上を含み;
    前記第2の依存関係制御クラスは:PCステータスバーウィンドウ制御クラス、画面制御クラス、ロック画面制御クラス、及びリモート制御クラスのうちの1つ以上を含み;
    前記第4のUI制御クラスは:PCステータスバーウィンドウビュー、PC通知パネルビュー、PCクイック設定フラグメント、PCステータスバーフラグメント、及びPCステータスバービューのうちの1つ以上を含む、
    請求項10に記載の方法。
  12. 前記第2のモジュールに関連付けられる表示領域のIDは、前記第2の表示領域のIDであり;前記第1のユーザ操作に応答して前記第1の電子デバイスにより、第2のデスクトップを実行するために前記第1のアプリケーションの第2のモジュールを呼び出す前記ステップであって、前記第2のデスクトップは、前記第2の表示領域に関連付けられる、前記ステップは:
    前記第1のユーザ操作に応答してPC管理サービスにより、モード切替指示を受信するステップであって、前記指示は、現在の非投影モードを投影モードに切り替えるように指示する、ステップ;
    前記指示に応答して前記PC管理サービスにより、PCデスクトップサービスを呼び出すステップであって、前記PCデスクトップサービスはアクティビティ管理サービスを呼び出し、前記アクティビティ管理サービスは、前記第1のアプリケーションの前記第2のモジュールを起動するためにアクティビティタスクマネージャを呼び出す、ステップ;
    前記第2のモジュールに関連付けられた前記表示領域の前記IDを決定するためにルートアクティビティコンテナを呼び出すステップ;前記第2のモジュールに関連付けられた前記表示領域の前記IDが前記第2の表示領域の前記IDである場合、前記第2のデスクトップのアクティビティを照会して起動されることになるデスクトップのアクティビティとして使用するステップ、又は前記第2のモジュールに関連付けられた前記表示領域の前記IDが前記第1の表示領域のIDである場合、前記第1のデスクトップのアクティビティを照会して起動されることになるデスクトップのアクティビティとして使用するステップ;及び
    アクティビティ起動コントローラにより、前記第2のデスクトップを起動するためにアクティビティスターターを呼び出すステップ;を含む、
    請求項1乃至11のいずれか1項に記載の方法。
  13. 前記第1のユーザ操作に応答して前記第1の電子デバイスにより、第2のステータスバーを実行するために前記第2のアプリケーションの第4のモジュールを呼び出す前記ステップであって、前記第2のステータスバーは前記第2の表示領域に関連付けられる、前記ステップは:
    前記第1のユーザ操作に応答してPC管理サービスにより、モード切替指示を受信するステップであって、前記指示は、現在の非投影モードを投影モードに切り替えるように指示する、ステップ;
    前記指示に応答して前記PC管理サービスにより、生産性サービスを起動するステップであって、前記生産性サービスは前記第2のステータスバーを開始するためにシステムバーを呼び出し、前記システムバーは、構成ファイルに基づいて前記第2のステータスバーを作成する、ステップ;
    前記第2のステータスバーにより、前記第2のステータスバーにコールバックを追加するために、コマンドキューのコールバックインターフェースを呼び出すステップ;前記第2のステータスバーによりレイアウトを初期化するステップ、及び前記第2のステータスバーに対応するIstatusBarオブジェクトをステータスバー管理サービスに登録するステップ;前記第2のステータスバーにより、前記PCステータスバーウィンドウビューを作成するステップ、及びステータスバーウィンドウ制御クラスに前記PCステータスバーウィンドウビューを追加するステップ;及び
    前記第2のステータスバーを前記第2の表示領域に追加するために、前記ステータスバーウィンドウ制御クラスにより、前記第2のステータスバーをウィンドウ管理サービスに追加するためにウィンドウ管理インターフェースを呼び出すステップ;を含む、
    請求項1乃至11のいずれか1項に記載の方法。
  14. 前記非投影モードにおいて、前記コマンドキューは、前記第1の表示領域に関連付けられた前記第1のステータスバーをサポートし;前記投影モードにおいて、前記コマンドキューは、前記第1の表示領域に関連付けられた前記第1のステータスバーと、前記第2の表示領域に関連付けられた前記第2のステータスバーとの両方をサポートする、
    請求項13に記載の方法。
  15. タッチスクリーン、メモリ、1つ以上のプロセッサ、複数のアプリケーション、及び1つ以上のプログラムを備えた電子デバイスであって、前記1つ以上のプログラムは前記メモリに格納され;前記1つ以上のプロセッサが1つ以上のプログラムを実行するとき、前記電子デバイスは請求項1乃至14のいずれか1項に記載の方法を実装することを可能にされる、電子デバイス。
  16. コンピュータ命令を含むコンピュータ記憶媒体であって、前記コンピュータ命令が電子デバイス上で実行されるとき、前記電子デバイスは請求項1乃至14のいずれか1項に記載の方法を実行することを可能にされる、コンピュータ記憶媒体。
  17. コンピュータプログラム製品であって、前記コンピュータプログラム製品がコンピュータ上で実行されるとき、前記コンピュータは、請求項1乃至14のいずれか1項に記載の方法を実行することが可能にされる、コンピュータプログラム製品。
JP2023571459A 2021-05-19 2022-05-10 画面投影方法及び関連装置 Pending JP2024521564A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110547552.4 2021-05-19
CN202110745467.9 2021-06-30

Publications (1)

Publication Number Publication Date
JP2024521564A true JP2024521564A (ja) 2024-06-03

Family

ID=

Similar Documents

Publication Publication Date Title
WO2021013158A1 (zh) 显示方法及相关装置
US11803451B2 (en) Application exception recovery
WO2021139768A1 (zh) 跨设备任务处理的交互方法、电子设备及存储介质
WO2021057830A1 (zh) 一种信息处理方法及电子设备
CN108845856B (zh) 基于对象的同步更新方法、装置、存储介质及设备
KR102481065B1 (ko) 애플리케이션 기능 구현 방법 및 전자 디바이스
EP4099669A1 (en) Method for creating application shortcuts, electronic device, and system
CN113553130B (zh) 应用执行绘制操作的方法及电子设备
CN111597000B (zh) 一种小窗口管理方法及终端
JP2023506936A (ja) マルチ画面共働方法およびシステム、ならびに電子デバイス
CN116360725B (zh) 显示交互系统、显示方法及设备
US11861382B2 (en) Application starting method and apparatus, and electronic device
WO2022127661A1 (zh) 应用共享方法、电子设备和存储介质
US20240086231A1 (en) Task migration system and method
EP4198709A1 (en) Navigation bar display method, display method and first electronic device
US20230236714A1 (en) Cross-Device Desktop Management Method, First Electronic Device, and Second Electronic Device
WO2021052488A1 (zh) 一种信息处理方法及电子设备
WO2023109764A1 (zh) 一种壁纸显示方法及电子设备
WO2023088459A1 (zh) 设备协同方法及相关装置
EP4343533A1 (en) Screen projection method and related apparatus
WO2022161024A1 (zh) 升级提示方法、终端设备及计算机可读存储介质
JP2024521564A (ja) 画面投影方法及び関連装置
WO2024083114A1 (zh) 一种软件分发方法、电子设备及系统
WO2024055875A1 (zh) 服务卡片的添加方法、电子设备及计算机可读存储介质
WO2024066976A1 (zh) 控件显示方法及电子设备