この出願は、端末技術の分野に関し、特に、アプリケーション許可を管理する方法及び電子デバイスに関する。
現在、アプリケーションが、携帯電話にインストールされ又はその携帯電話において使用されるときに、ユーザは、使用することをアプリケーションが許可する1つ又は複数のアプリケーション許可をあらかじめ付与する必要がある。例えば、アプリケーション許可は、接点情報の読み取り、位置情報の取得、カレンダー情報の読み取り、記録機能の有効化、及びカメラの起動を含んでもよい。
例えば、ユーザが、ブラウザアプリケーションのインストールの際に、そのブラウザアプリケーションに、カメラを起動するためのアプリケーション許可を与える場合に、携帯電話は、カメラの起動が、ブラウザアプリケーションの登録された許可であるということを記録してもよい。その後、そのブラウザアプリケーションが携帯電話のカメラを開くことを要求しているということを検出する場合に、そのカメラの起動は、そのブラウザアプリケーションの登録された許可であるため、その携帯電話は、そのブラウザアプリケーションの要求に応答して、撮影のためにカメラを開いてもよい。一方で、アプリケーションが、アプリケーション許可を登録した後に、そのアプリケーション許可を濫用する場合に、携帯電話のリソースオーバーヘッドを増加させ、また、ユーザのプライバシー漏洩のリスクも増加する。
この出願は、アプリケーション許可を管理する方法及び電子デバイスを提供して、アプリケーションが複数の異なる使用シナリオにおいて複数の異なるアプリケーション許可を使用することを可能とする。このことは、ユーザのプライバシー漏洩のセキュリティリスクを減少させ、ユーザ体験を改善する。
上記の目的を達成するために、この出願においては以下の技術的解決方法を使用する。
第1の態様によれば、この出願は、アプリケーション許可を管理する方法であって、電子デバイスは、ホームスクリーンを表示し、前記ホームスクリーンは、第1のアプリケーションのアイコンを含み、ユーザが前記アイコンをタップする第1の操作に応答して、前記電子デバイスは、第1のインターフェイスを表示してもよく、前記第1のインターフェイスを表示するときに、前記電子デバイスは、前記第1のアプリケーションが第1のアプリケーション許可を使用するのを許可してもよく、前記第1のインターフェイスに対する前記ユーザの第2の操作に応答して、前記電子デバイスは、第2のインターフェイスを表示してもよく、前記第2のインターフェイスを表示するときに、前記電子デバイスは、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを拒否してもよい、方法を提供する。
言い換えると、第1のアプリケーションを実行するときに、電子デバイスは、アプリケーションにアプリケーション許可を与えた後に、そのアプリケーションがそのアプリケーション許可をランダムに使用するのを許可するのではなく、現在表示されているインターフェイスを参照して、第1のアプリケーションがアプリケーション許可を使用するのを許可してもよく又は拒否してもよく、その結果、システムリソースの消費及びユーザのプライバシー漏洩のセキュリティリスクを減少させるとともに、ユーザの体験を改善することが可能である。
ある1つの可能な実装において、前記第1のインターフェイスが示す使用シナリオは、第1のシナリオであり、前記第2のインターフェイスが示す使用シナリオは、第2のシナリオである。前記電子デバイスが、前記第1のアプリケーションが第1のアプリケーション許可を使用するのを許可することは、前記第1のアプリケーション許可が前記第1のシナリオに対応するときに、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを許可することを含む。前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを拒否することは、前記第1のアプリケーション許可が前記第2のシナリオに対応していないときに、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを拒否することを含む。
言い換えると、アプリケーションが、電子デバイスにアプリケーション許可の使用を申請するときに、その電子デバイスは、現在の特定の使用シナリオを参照して、そのアプリケーションにアプリケーション許可を付与するか否かを決定してもよい。アプリケーションが申請しそして使用するアプリケーション許可が、現在の使用シナリオに対応している場合には、現在の使用シナリオに沿ってアプリケーション許可を使用することは適切であるということを示す。この場合には、電子デバイスは、アプリケーションがアプリケーション許可を継続して使用することを許可して、ユーザがアプリケーションによって提供される様々な機能の通常の使用に影響を与えることを回避してもよい。
アプリケーションが申請しているアプリケーション許可が、現在の使用シナリオに対応していない場合には、現在の使用シナリオに沿ってアプリケーション許可を使用することは不適切であるということを示す。アプリケーションがアプリケーション許可の使用を継続して許可される場合には、アプリケーションがアプリケーション許可を使用するときに不必要なシステムリソースが消費され、そのアプリケーション許可の使用は、電力消費のオーバーヘッドを増加させる。加えて、アプリケーションが、現在の使用シナリオに対応していないアプリケーション許可の使用を許可された後に、アプリケーションは、さらに、そのアプリケーション許可を乱用して、ユーザのプライバシーを取得する場合があり、ユーザのプライバシー漏洩のリスクを増加させる。したがって、アプリケーションが今回申請しそして使用するアプリケーション許可が、現在の使用シナリオに対応していない場合に、システムリソースの消費及びユーザのプライバシー漏洩のセキュリティリスクを減少させるとともに、ユーザの体験を改善するために、電子デバイスは、アプリケーションが今回のアプリケーション許可を使用するのを許可することを拒否してもよい。
ある1つの可能な実装において、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを拒否するときに、当該方法は、前記電子デバイスが、前記第2のインターフェイスの中に第1の通知を表示することをさらに含み、前記第1の通知は、前記第1のアプリケーションによって前記第1のアプリケーション許可を使用するための要求が今回拒否されているということを前記ユーザに教えるのに使用される。
例えば、前記第1の通知は、前記第2のインターフェイスに対応する前記使用シナリオを含んでもよい。
ある1つの可能な実装において、前記電子デバイスが、前記第2のインターフェイスの中に第1の通知を表示した後に、当該方法は、前記電子デバイスが、前記ユーザが前記第1の通知を開いているということを検出する場合に、前記電子デバイスが、アプリケーション許可を管理するための設定インターフェイスを表示することをさらに含む。ユーザは、設定インターフェイスによってアプリケーション許可を手動で管理してもよい。
ある1つの可能な実装において、第2のインターフェイスを表示するときに、当該方法は、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可の使用を申請しているということを検出する場合に、前記電子デバイスが、前記第2のインターフェイスの中にダイアログボックスを表示してもよいことをさらに含み、前記ダイアログボックスは、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを許可しない第1のボタンを含み、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを拒否することは、前記電子デバイスが、前記ユーザが前記第1のボタンを選択しているということを検出する場合に、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを拒否することを含む。言い換えると、電子デバイスが、アプリケーションが第2のインターフェイスの中で第1のアプリケーション許可を使用するのを許可することにセキュリティ上のリスクが存在するということを検出するときに、電子デバイスは、アプリケーションが今回第1のアプリケーション許可を使用するのを許可すること又は拒否することを手動で選択するようにユーザに促してもよい。
ある1つの可能な実装において、前記ダイアログボックスは、プロンプト情報をさらに含んでもよい。前記プロンプト情報は、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを許可する際のセキュリティリスクを前記ユーザに教えるのに使用され、それによって、前記第1のアプリケーションが、今回、前記第1のアプリケーション許可を使用するのを許可された後に、前記ユーザは、セキュリティリスクを知る。
ある1つの可能な実装において、前記ダイアログボックスは、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを許可する第2のボタンをさらに含んでもよく、前記電子デバイスが、前記第2のインターフェイスの中にダイアログボックスを表示した後に、当該方法は、前記電子デバイスが、前記ユーザが前記第2のボタンを選択しているということを検出する場合に、前記第1のアプリケーションが今回前記第1のアプリケーション許可を使用するときに、前記電子デバイスが、前記第1のアプリケーションに偽のデータを提供することをさらに含む。言い換えると、ユーザは、第1のアプリケーションが第1のアプリケーション許可を使用するのを許可するが、第1のアプリケーションが最終的に取得するユーザデータは、本物のユーザデータではなく、それによって、第1のアプリケーションが、第1のアプリケーション許可を乱用して、ユーザのプライバシーを取得するのを防止する。
ある1つの可能な実装において、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを拒否することは、前記電子デバイスの中の許可サービスが、前記第1のアプリケーションに許可拒否応答を送信し、それによって、前記第1のアプリケーションは、前記第1のアプリケーション許可を使用することが不可能となることを含む。
代替的に、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを拒否することは、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを許可することと、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するときに、前記電子デバイスが、前記第1のアプリケーションに前記偽のデータを提供することと、を含む。このように、電子デバイスが、第1のアプリケーションが第1のアプリケーション許可を使用するのを許可した後に、第1のアプリケーションが正常に動作することが不可能である予期しない終了等の場合は、第1のアプリケーションが許可拒否応答を取得した後は、回避されてもよい。加えて、電子デバイスが、第1のアプリケーションに偽のデータを提供することにより、ユーザの本物のデータが第1のアプリケーションによって漏洩されるのを防ぐことが可能である。
例えば、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するときに、前記電子デバイスが、前記第1のアプリケーションに前記偽のデータを提供した後に、当該方法は、前記電子デバイスが、前記第2のインターフェイスの中に第2の通知を表示することをさらに含み、前記第2の通知は、前記第1のアプリケーションが今回前記第1のアプリケーション許可を使用するときに取得するユーザデータが前記偽のデータであるということを前記ユーザに教えるのに使用される。
ある1つの可能な実装において、第2のインターフェイスが表示されるときに、電子デバイスは、第1のアプリケーションが第1のアプリケーション許可を使用するのを拒否するが、電子デバイスは、第1のアプリケーションが第2のアプリケーション許可を使用するのを許可してもよい(第2のアプリケーション許可は、第1のアプリケーション許可とは異なる)。言い換えると、同じインターフェイスに対応するシナリオにおいて、電子デバイスは、第1のアプリケーションが複数のアプリケーション許可を使用するのを承諾してもよく、電子デバイスは、第1のアプリケーションが他のアプリケーション許可を使用するのを拒否してもよい。
ある1つの可能な実装において、第1のアプリケーションがインストールされるときに、電子デバイスが、第1のアプリケーションが第1のアプリケーション許可を登録することを要求しているということを検出する場合に、電子デバイスは、第1のアプリケーション許可が第1のアプリケーションのタイプに対応しているか否かを決定してもよい。第1のアプリケーション許可が第1のアプリケーションのタイプに対応している場合に、電子デバイスは、第1のアプリケーションが第1のアプリケーション許可を登録するのを承諾する。言い換えると、アプリケーションが電子デバイスの中にアプリケーション許可を登録するときに、電子デバイスは、ユーザのために、そのアプリケーションのアプリケーションタイプに対応していない複数のアプリケーション許可を遮断して、そのアプリケーションが、その後に、それらの複数のアプリケーション許可を使用して、ユーザのプライバシーを取得するのに起因して引き起こされるプライバシー漏洩等のセキュリティ問題を回避してもよい。
例えば、前記第1のアプリケーション許可は、位置情報の取得の許可、アドレス帳の読み取り/修正の許可、カレンダーの読み取り/修正の許可、カメラの使用の許可、マイクロフォンの使用の許可、ブルートゥースの使用の許可、又は音声認識機能の使用の許可を含んでもよい。
第2の態様によれば、この出願は、接触感知表面及びディスプレイを含むタッチスクリーンと、1つ又は複数のプロセッサと、1つ又は複数のメモリと、1つ又は複数のコンピュータプログラムと、を含む電子デバイスを提供する。プロセッサは、メモリ及びタッチスクリーンの双方に結合される。1つ又は複数のコンピュータプログラムは、メモリの中に格納される。電子デバイスが起動すると、プロセッサは、メモリの中に格納されている1つ又は複数のコンピュータプログラムを実行し、それによって、電子デバイスは、第1の態様の複数の実装のうちのいずれか1つにしたがったアプリケーション許可を管理する方法を実行する。
第3の態様によれば、この出願は、コンピュータ命令を含むコンピュータ記憶媒体を提供する。コンピュータ命令が電子デバイスによって実行されるときに、電子デバイスが、第1の態様の複数の実装のうちのいずれか1つにしたがったアプリケーション許可を管理するための方法を実行することを可能とする。
第4の態様によれば、この出願は、コンピュータプログラム製品を提供する。コンピュータプログラム製品が電子デバイスによって実行されるときに、電子デバイスが、第1の態様の複数の実装のうちのいずれか1つにしたがったアプリケーション許可を管理する方法を実行することを可能とする。
上記で提供されている第2の態様の電子デバイス、第3の態様のコンピュータ記憶媒体、及び第4の態様のコンピュータプログラム製品は、すべてが、上記で提供されている対応する方法を実行するように構成されているということを理解することが可能である。したがって、電子デバイス、コンピュータ記憶媒体、及びコンピュータプログラム製品が達成することが可能である有益な効果については、上記で提供されている対応する方法における有益な効果を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
この出願のある1つの実施形態にしたがった電子デバイスの概略的な構成図1である。
この出願のある1つの実施形態にしたがった電子デバイスの中のオペレーティングシステムの概略的なアーキテクチャ図である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図1である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図1である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図2である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図2である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図2である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図3である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図4である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図4である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図4である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図5である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図5である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図5である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図6である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図7である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図7である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図8である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図9である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図10である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図11である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図11である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図12である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図13である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図14である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図14である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図15である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図15である。
この出願のある1つの実施形態にしたがった電子デバイスの概略的な構成図2である。
以下の記載は、複数の添付の図面を参照して、複数の実施形態の複数の実装を詳細に説明する。
この出願の複数の実施形態によって提供されるアプリケーション許可を管理する方法は、携帯電話、タブレットコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ウルトラモバイルパーソナルコンピュータ(ultra-mobile personal computer, UMPC)、ハンドヘルドコンピュータ、ネットブック、パーソナルディジタルアシスタント(personal digital assistant, PDA)、ウェアラブル電子デバイス、又はバーチャルリアリティデバイス等の電子デバイスに適用されてもよい。このことは、この出願のそれらの複数の実施態様においては限定されない。
例えば、図1は、電子デバイス100の概略的な構成図である。
電子デバイス100は、プロセッサ110、外部メモリインターフェイス120、内部メモリ121、ユニバーサルシリアルバス(universal serial bus, USB)インターフェイス130、充電管理モジュール140、電力管理モジュール141、バッテリ142、アンテナ1、アンテナ2、無線周波数モジュール150、通信モジュール160、オーディオモジュール170、スピーカ170A、受信機170B、マイクロフォン170C、ヘッドセットインターフェイス170D、センサモジュール180、キー190、モータ191、インジケータ192、カメラ193、ディスプレイ194、及び加入者識別モジュール(subscriber identification 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の神経センター及び指令センターであってもよい。コントローラは、命令フェッチ及び命令実行の制御を完了するために、命令動作コード及び時間シーケンス信号に基づいて動作制御信号を生成することができる。
メモリは、さらに、プロセッサ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)インターフェイス等を含んでもよい。
I2Cインターフェイスは、双方向同期シリアルバスであり、シリアルデータライン(serial data line, SDA)及びシリアルクロックライン(derail clock line, SCL)を含む。複数の実施形態のうちのいくつかにおいて、プロセッサ110は、I2Cバスの複数のグループを含んでもよい。プロセッサ110は、複数の異なるI2Cバスインターフェイスを通じて、タッチセンサ180K、充電器、フラッシュ、及びカメラ193等に個別に結合されてもよい。例えば、プロセッサ110は、I2Cインターフェイスを通じて、タッチセンサ180Kに結合されてもよく、それによって、プロセッサ110は、I2Cバスインターフェイスを通じて、タッチセンサ180Kと通信して、電子デバイス100のタッチ機能を実装してもよい。
I2Sインターフェイスは、音声通信を実行するように構成されてもよい。複数の実施形態のうちのいくつかにおいて、プロセッサ110は、I2Sバスの複数のグループを含んでもよい。プロセッサ110は、I2Sバスを通じて、オーディオモジュール170に結合されて、プロセッサ110とオーディオモジュール170との間の通信を実装してもよい。複数の実施形態のうちのいくつかにおいて、オーディオモジュール170は、I2Sインターフェイスを通じて通信モジュール160にオーディオ信号を伝送して、ブルートゥースヘッドセットを使用することによって呼に応答する機能を実装してもよい。
PCMインターフェイスは、また、音声通信のために使用されて、アナログ信号をサンプリングし、量子化し、そして、符号化してもよい。複数の実施形態のうちのいくつかにおいて、オーディオモジュール170は、PCMバスインターフェイスを通じて通信モジュール160に結合されてもよい。複数の実施形態のうちのいくつかにおいて、オーディオモジュール170は、また、PCMインターフェイスを通じて通信モジュール160にオーディオ信号を伝送して、ブルートゥースヘッドセットを使用することによって呼に応答する機能を実装してもよい。I2Sインターフェイス及びPCMインターフェイスの双方は、音声通信を実行するように構成されてもよい。
UARTインターフェイスは、ユニバーサルシリアルデータバスであり、非同期通信を実行するように構成される。バスは、双方向通信バスであってもよく、シリアル通信とパラレル通信との間で伝送されるべきデータを変換する。複数の実施形態のうちのいくつかにおいて、UARTインターフェイスは、通常は、プロセッサ110及び通信モジュール160を接続するように構成される。例えば、プロセッサ110は、UARTインターフェイスを通じて通信モジュール160の中のブルートゥースモジュールと通信して、ブルートゥース機能を実装する。複数の実施形態のうちのいくつかにおいて、オーディオモジュール170は、UARTインターフェイスを通じて通信モジュール160にオーディオ信号を伝送して、ブルートゥースヘッドセットを使用することによって音楽を再生する機能を実装してもよい。
MIPIインターフェイスは、ディスプレイ194及びカメラ193等の周辺デバイスにプロセッサ110を接続するように構成されてもよい。MIPIインターフェイスは、カメラシリアルインターフェイス(camera serial interface, CSI)及びディスプレイシリアルインターフェイス(display serial interface, DSI)等を含む。複数の実施形態のうちのいくつかにおいて、プロセッサ110は、CSIインターフェイスを通じてカメラ193と通信して、電子デバイス100の写真撮影機能を実装する。プロセッサ110は、DSIインターフェイスを通じてディスプレイ194と通信して、電子デバイス100の表示機能を実装する。
GPIOインターフェイスは、ソフトウェアによって構成されてもよい。GPIOインターフェイスは、制御信号又はデータ信号として構成されてもよい。複数の実施形態のうちのいくつかにおいて、GPIOインターフェイスは、プロセッサ110及びカメラ193、ディスプレイ194、通信モジュール160、オーディオモジュール170、又はセンサモジュール180等を接続するように構成されてもよい。GPIOインターフェイスは、代替的に、I2Cインターフェイス、I2Sインターフェイス、UARTインターフェイス、又はMIPIインターフェイス等として構成されてもよい。
USBポート130は、USB標準仕様に準拠しているインターフェイスであり、具体的には、ミニUSBポート、マイクロUSBポート、又はUSBタイプCインターフェイス等であってもよい。USBポート130は、充電器に接続して、電子デバイス100を充電するように構成されてもよく、電子デバイス100と周辺デバイスとの間でデータを伝送するように構成されてもよく、又は、ヘッドセットに接続して、そのヘッドセットを使用することによって音声を再生するように構成されてもよい。代替的に、インターフェイスは、例えば、ARデバイス等の他の電子デバイスに接続するように構成されてもよい。
この出願のこの実施形態の中で解説されている複数のモジュールの間のインターフェイス接続関係は、説明のためのある1つの例であるにすぎず、電子デバイス100の構造に対する限定を構成しないということを理解することが可能である。この出願のいくつかの他の実施形態においては、電子デバイス100は、代替的に、上記の実施形態の中のインターフェイス接続方式とは異なるインターフェイス接続方式を使用してもよく、又は、複数のインターフェイス接続方法の組み合わせを使用してもよい。
充電管理モジュール140は、充電器からの充電入力を受信するように構成される。充電器は、無線充電器であってもよく又は有線充電器であってもよい。有線充電の複数の実施形態のうちのいくつかにおいて、充電管理モジュール140は、USBポート130を通じて有線充電器からの充電入力を受信してもよい。無線充電の複数の実施形態のうちのいくつかにおいて、充電管理モジュール140は、電子デバイス100の無線充電コイルを使用することによって、無線充電入力を受信してもよい。充電管理モジュール140は、バッテリ142を充電する一方で、電力管理モジュール141を使用することによって電子デバイスに電力を供給する。
電力管理モジュール141は、プロセッサ110にバッテリ142及び充電管理モジュール140を接続するように構成される。電力管理モジュール141は、バッテリ142及び/又は充電管理モジュール140の入力を受信し、プロセッサ110、内部メモリ121、外部メモリ、ディスプレイ194、カメラ193、及び通信モジュール160等に電力を供給する。電力管理モジュール141は、さらに、バッテリ容量、バッテリサイクル、及び(漏電又はインピーダンス等の)バッテリ健全性状態等のパラメータをモニタリングするように構成されてもよい。いくつかの他の実施形態においては、電力管理モジュール141は、代替的に、プロセッサ110の中に配置されてもよい。いくつかの他の実施形態においては、電力管理モジュール141及び充電管理モジュール140は、代替的に、同じデバイスの中に配置されてもよい。
電子デバイス100の無線通信機能は、アンテナ1、アンテナ2、無線周波数モジュール150、通信モジュール160、モデムプロセッサ、及びベースバンドプロセッサ等によって実装されてもよい。
アンテナ1及びアンテナ2は、電磁波信号を送信し及び受信するように構成される。電子デバイス100の中の各々のアンテナは、1つ又は複数の通信周波数帯域をカバーするように構成されてもよい。さらに、複数の異なるアンテナを多重化して、アンテナの利用性を改善してもよい。例えば、アンテナ1は、無線ローカルエリアネットワークにおいてダイバーシティアンテナとして多重化されてもよい。いくつかの他の実施形態において、アンテナは、同調スイッチと組み合わせて使用されてもよい。
無線周波数モジュール150は、電子デバイス100に適用されるとともに、2G、3G、4G、及び5G等の無線通信技術を含む解決方法を提供することが可能である。無線周波数モジュール150は、少なくとも1つのフィルタ、スイッチ、電力増幅器、及び低雑音増幅器(low noise amplifier, LNA)等を含んでもよい。無線周波数モジュール150は、アンテナ1を使用することによって電磁波を受信し、受信した電磁波に対してフィルタリング又は増幅等の処理を実行し、そして、復調のためにモデムプロセッサに電磁波を転送してもよい。無線周波数モジュール150は、さらに、モデムプロセッサが変調する信号を増幅し、そして、アンテナ1を使用することによって、放射するために、その信号を電磁波に変換してもよい。複数の実施形態のうちのいくつかにおいて、無線周波数モジュール150の中の少なくともいくつかの機能モジュールは、プロセッサ110の中に配置されてもよい。複数の実施形態のうちのいくつかにおいて、無線周波数モジュール150の中の少なくともいくつかの機能モジュールは、プロセッサ110の中の少なくともいくつかのモジュールと同じデバイスの中に配置されてもよい。
モデムプロセッサは、変調器及び復調器を含んでもよい。変調器は、送信されるべき低周波数ベースバンド信号を中周波数信号又は高周波数信号へと変調するように構成される。復調器は、受信した電磁波信号を低周波数ベースバンド信号へと復調するように構成される。その次に、復調器は、復調によって得られる低周波数ベースバンド信号を処理のためにベースバンドプロセッサに送信する。低周波数ベースバンド信号は、ベースバンドプロセッサによって処理され、その次に、アプリケーションプロセッサに送信される。アプリケーションプロセッサは、(スピーカ170A及び受信機170B等には限定されない)オーディオデバイスを使用することによって音声信号を出力し、或いは、ディスプレイ194を使用することによって画像又はビデオを表示する。複数の実施形態のうちのいくつかにおいて、モデムプロセッサは、独立した構成要素であってもよい。いくつかの他の実施形態においては、モデムプロセッサは、プロセッサ110から独立していてもよく、無線周波数モジュール150又は別の機能モジュールと同じ構成要素の中に配置される。
通信モジュール160は、無線通信解決方法を提供してもよく、その無線通信解決方法は、(例えば、無線忠実度(wireless fidelity, Wi-Fi)ネットワーク等の)無線ローカルエリアネットワーク(wireless local area networks, WLAN)、ブルートゥース(bluetooth, BT)、全地球的航法衛星システム(global navigation satellite system, GNSS)、周波数変調(frequency modulation, FM)、近距離通信(near field communication, NFC)、又は赤外線(infrared, IR)技術等を含むとともに、電子デバイス100に適用される。通信モジュール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 systems, SBAS)を含んでもよい。
電子デバイス100は、GPU、ディスプレイ194、及びアプリケーションプロセッサ等を使用することによって、表示機能を実装する。GPUは、画像処理のためのマイクロプロセッサであり、アプリケーションプロセッサにディスプレイ194を接続する。GPUは、数学的及び幾何学的計算を実行し、そして、画像をレンダリングする、ように構成される。プロセッサ110は、1つ又は複数のGPUを含んでもよく、それらの1つ又は複数のGPUは、プログラム命令を実行して、表示情報を生成し又は変更する。
ディスプレイ194は、画像及びビデオ等を表示するように構成される。ディスプレイ194は、表示パネルを含む。表示パネルは、液晶ディスプレイ(liquid crystal display, LCD)、有機発光ダイオード(organic light-emitting diode, OLED)、アクティブマトリックス有機発光ダイオード(active-matrix organic light emitting diode, AMOLED)、フレキシブル発光ダイオード(flex light-emitting diode, FLED)、ミニLED、マイクロLED、マイクロOLED、又は、量子ドット発光ダイオード(quantum dot light emitting diodes, QLED)等であってもよい。複数の実施形態のうちのいくつかにおいて、電子デバイス100は、1つ又はN個のディスプレイ194を含んでもよく、Nは、1よりも大きな正の整数である。
電子デバイス100は、ISP、カメラ193、ビデオコーデック、GPU、ディスプレイ194、及びアプリケーションプロセッサ等を使用することによって、撮影機能を実装してもよい。
ISPは、カメラ193がフィードバックするデータを処理するように構成される。例えば、撮影の際に、シャッターを押すと、光が、レンズを通じてカメラの感光体に送られる。光信号は、電気信号に変換され、カメラの感光体は、処理のために、ISPに電気信号を送信して、その電気信号を可視的な画像に変換する。ISPは、さらに、画像の雑音、輝度、及び顔色に対して、アルゴリズム最適化を実行してもよい。ISPは、さらに、撮影シナリオの露光及び色温度等のパラメータを最適化してもよい。複数の実施形態のうちのいくつかにおいて、ISPは、カメラ193の中に配置されてもよい。
カメラ193は、静止画像又はビデオを取り込むように構成される。対象物の光学画像は、レンズを通じて生成され、感光体の上に投影される。感光体は、電荷結合素子(charge coupled device, CCD)又は相補型金属酸化物半導体(complementary metal-oxide-semiconductor, CMOS)フォトトランジスタであってよい。感光体は、光信号を電気信号へと変換し、その次に、ISPに電気信号を送信して、その電気信号をディジタル画像信号へと変換する。ISPは、処理のために、DSPにディジタル画像信号を出力する。DSPは、ディジタル画像信号をRGBフォーマット又はYUVフォーマット等の標準画像信号へと変換する。複数の実施形態のうちのいくつかにおいて、電子デバイス100は、1つ又はN個のカメラ193を含んでもよく、Nは、1よりも大きな正の整数である。
ディジタル信号プロセッサは、ディジタル信号を処理するように構成され、ディジタル画像信号のほかに、他のディジタル信号を処理してもよい。例えば、電子デバイス100が周波数を選択するときに、ディジタル信号プロセッサは、周波数エネルギーに対してフーリエ変換等を実行するように構成される。
ビデオコーデックは、ディジタルビデオを圧縮し又は解凍するように構成される。電子デバイス100は、1つ又は複数のタイプのビデオコーデックをサポートすることが可能である。このようにして、電子デバイス100は、例えば、動画エキスパートグループ(moving picture experts group, MPEG)1、MPEG2、MPEG3、及びMPEG4等の複数の符号化フォーマットによってビデオを再生し又は記録することが可能である。
NPUは、ニューラルネットワーク(neural-network, NN)コンピューティングプロセッサであり、例えば、人間の脳の複数のニューロンの間の伝達モードを参照することによってといったように、生物学的ニューラルネットワークの構造を参照することによって、入力情報を迅速に処理し、そして、さらに、自己学習を継続的に実行することが可能である。NPUは、例えば、画像認識、顔認識、音声認識、及びテキスト理解等の電子デバイス100のインテリジェント認知等のアプリケーションを実装することが可能である。
外部メモリインターフェイス120は、例えば、マイクロSDカード等の外部記憶カードに接続して、電子デバイス100の記憶能力を拡張するように構成されてもよい。外部記憶カードは、外部メモリインターフェイス120を通じてプロセッサ110と通信して、データ記憶機能を実装する。例えば、音楽及びビデオ等のファイルは、外部記憶カードの中に格納される。
内部メモリ121は、コンピュータ実行可能なプログラムコードを格納するように構成されてもよい。実行可能なプログラムコードは、命令を含む。プロセッサ110は、内部メモリ121の中に格納されている命令を実行して、電子デバイス100の様々な機能アプリケーションを実行し、そして、データを処理する。内部メモリ121は、プログラム格納領域及びデータ格納領域を含んでもよい。プログラム格納領域は、(例えば、音声再生機能又は画像再生機能等の)少なくとも1つの機能が必要とするアプリケーション及びオペレーティングシステム等を格納してもよい。データ格納領域は、電子デバイス100を使用する過程で生成される(例えば、音声データ及び電話帳等の)データ等を格納してもよい。加えて、内部メモリ121は、高速ランダムアクセスメモリを含んでもよく、例えば、少なくとも1つの磁気ディスク記憶デバイス、フラッシュメモリデバイス、又はユニバーサルフラッシュ記憶装置(universal flash storage, UFS)等の不揮発性メモリをさらに含んでもよい。
電子デバイス100は、オーディオモジュール170、スピーカ170A、受信機170B、マイクロフォン170C、ヘッドセットインターフェイス170D、及びアプリケーションプロセッサ等を使用することによって、例えば、音楽の再生及び録音等のオーディオ機能を実装してもよい。
オーディオモジュール170は、ディジタルオーディオ情報を出力用のアナログオーディオ信号へと変換するように構成され、また、アナログオーディオ入力をディジタルオーディオ信号へと変換するように構成される。オーディオモジュール170は、さらに、オーディオ信号を符号化し及び復号化するように構成されてもよい。複数の実施形態のうちのいくつかにおいて、オーディオモジュール170は、プロセッサ110の中に配置されてもよく、又は、オーディオモジュール170のいくつかの機能モジュールは、プロセッサ110の中に配置されてもよい。
スピーカ170Aは、また、"ホーン"と称され、オーディオ電気信号を音声信号へと変換するように構成される。電子デバイス100は、スピーカ170Aを使用することによって、音楽を聞き、又は、ハンズフリー呼に応答するように構成されてもよい。
受信機170Bは、また、"イヤピース"と称され、オーディオ電気信号を音声信号へと変換するように構成される。電子デバイス100が、呼に応答するか又は音声情報を聞くように構成されるときに、受信機170Bは、音声を聞くために人間の耳の近くに配置される。
また、"マイク"又は"マイクロフォン"と称されるマイクロフォン170Cは、音声信号を電気信号へと変換するように構成される。発呼するとき又は音声情報を送信するときには、マイクロフォン170Cの近くへと人間の口を移動させることによって音声を発して、マイク170Cに音声信号を入力してもよい。電子デバイス100の中に少なくとも1つのマイクロフォン170Cを配置してもよい。いくつかの他の実施形態においては、電子デバイス100の中に2つのマイクロフォン170Cを配置して、音声信号を収集することに加えて、ノイズ低減機能を実装してもよい。いくつかの他の実施形態においては、代替的に、電子デバイス100の中に3つ、4つ、又はそれ以上のマイクロフォン170Cを配置して、音声信号を収集するとともに、ノイズを低減してもよい。マイクロフォンは、さらに、音源を識別するとともに、指向性記録機能を実装する等をしてもよい。
ヘッドセットインターフェイス170Dは、有線ヘッドセットに接続するように構成される。ヘッドセットインターフェイス170Dは、USBポート130であってもよく、又は3.5[mm]のオープンモバイル端末プラットフォーム(open mobile terminal platform, OMTP)標準インターフェイス、又は米国のセルラー通信産業協会(cellular telecommunications industry association of the USA, CTIA)標準インターフェイスであってもよい。
圧力センサ180Aは、圧力信号を検知するように構成され、圧力信号を電気信号へと変換することが可能である。複数の実施形態のうちのいくつかにおいて、圧力センサ180Aは、ディスプレイ194に配置されていてもよい。例えば、抵抗型の圧力センサ、誘導性の圧力センサ、容量性の圧力センサ等の複数のタイプの圧力センサ180Aが存在する。容量性圧力センサは、導電性材料によって形成されている少なくとも2つの平行プレートを含んでいてもよい。圧力センサ180Aに力を加えるときに、複数の電極の間の静電容量が変化する。電子デバイス100は、静電容量の変化に基づいて圧力強度を決定する。ディスプレイ194においてタッチ操作が実行されるときに、電子デバイス100は、圧力センサ180Aを使用することによって、タッチ操作強度を検出する。電子デバイス100は、また、圧力センサ180Aの検出信号に基づいて、タッチ位置を算出してもよい。複数の実施形態のうちのいくつかにおいて、同じタッチ位置において実行されているが、複数の異なるタッチ操作強度を有するタッチ操作は、複数の異なる操作命令に対応している場合がある。例えば、SMSアプリケーションのアイコンに対して、タッチ操作強度が第1の圧力しきい値よりも小さいタッチ操作を実行するときに、SMSメッセージの閲覧のための指示が実行される。SMSアプリケーションのアイコンに対して、タッチ操作強度が第1の圧力しきい値以上のタッチ操作を実行するときに、SMSメッセージの作成のための指示が実行される。
ジャイロスコープセンサ180Bは、電子デバイス100の運動姿勢を決定するように構成されてもよい。複数の実施形態のうちのいくつかにおいて、3つの軸(すなわち、軸x、y、及びz)を中心とする電子デバイス100の角速度は、ジャイロスコープセンサ180Bを使用することによって決定されてもよい。ジャイロスコープセンサ180Bは、撮影の際に手ぶれ補正を実行するように構成されてもよい。例えば、シャッタが押されるときに、ジャイロスコープセンサ180Bは、電子デバイス100が振動する角度を検出し、そして、レンズモジュールが補償する必要がある距離をその角度に基づいて計算し、それによって、レンズは、反転動作によって電子デバイス100の振動を相殺して、手ぶれ補償を実行する。ジャイロスコープセンサ180Bは、さらに、ナビゲーション及びモーションセンシングゲームのシナリオにおいて使用されてもよい。
気圧センサ180Cは、気圧を測定するように構成される。複数の実施形態のうちのいくつかにおいて、電子デバイス100は、気圧センサ180Cが測定する気圧値を使用することによって高度を計算して、測位及びナビゲーションを支援する。
磁気センサ180Dは、ホールセンサを含む。電子デバイス100は、磁気センサ180Dを使用することによって、フリップレザーケースの開閉を検出することが可能である。複数の実施形態のうちのいくつかにおいて、電子デバイス100がクラムシェル電話であるときに、電子デバイス100は、磁気センサ180Dを使用することによって、フリップカバーの開閉を検出することが可能である。さらに、皮革ケースの検知される開閉状態又はフリップカバーの検知される開閉状態に基づいて、フリップカバーの自動ロック解除等の機能を設定する。
加速度センサ180Eは、電子デバイス100の(通常は、3軸である)さまざまな方向の加速度値を検出することが可能であり、電子デバイス100が静止しているときには重力値及び重力方向を検出することが可能である。加速度センサ180Eは、さらに、電子デバイスの姿勢を識別するように構成されてもよく、横モードと縦モードとの間の切り替え又は歩数計等のアプリケーションに適用される。
距離センサ180Fは、距離を測定するように構成される。電子デバイス100は、赤外線方式又はレーザ方式によって距離を測定してもよい。複数の実施形態のうちのいくつかにおいて、写真撮影のシナリオにおいて、電子デバイス100は、距離センサ180Fを使用することによって距離を測定して、迅速な焦点合わせを実現してもよい。
光学的近接センサ180Gは、例えば、フォトダイオード等の光学検出器及び発光ダイオード(LED)を含んでいてもよい。発光ダイオードは、赤外線発光ダイオードであってもよい。電子デバイス100は、発光ダイオードを使用することによって、赤外線を発光する。電子デバイス100は、フォトダイオードを使用することによって、近傍の対象物からの赤外線反射光を検出する。十分な反射光が検出されるときに、その電子デバイス100の近くにある対象物が存在するということを決定することが可能である。十分ではない反射光が検出されるときに、電子デバイス100は、その電子デバイス100の近くには対象物が存在しないということを決定することが可能である。電子デバイス100は、光近接センサ180Gを使用することによって、ユーザが通話のために耳の近くにその電子デバイス100を保持しているということを検出して、省電力のためのスクリーンを自動的にオフにすることが可能である。光近接センサ180Gは、また、皮革ケースモード又はポケットモードで使用されて、スクリーンを自動的にロック解除又はロックすることが可能である。
周囲光センサ180Lは、周囲光の輝度を検知するように構成される。電子デバイス100は、検知された周囲光の輝度に基づいて、ディスプレイ194の輝度を適応的に調整することが可能である。周囲光センサ180Lは、また、撮影の際にホワイトバランスを自動的に調整するように構成されてもよい。周囲光センサ180Lは、また、光近接センサ180Gと協働して、電子デバイス100がポケットに入っているか否かを検出するとともに、偶発的な接触を回避してもよい。
指紋センサ180Hは、指紋を収集するように構成される。電子デバイス100は、収集された指紋の特徴を使用して、指紋ベースのロック解除、アプリケーションロックアクセス、指紋ベースの写真撮影、及び指紋ベースの呼応答等を実装することが可能である。
温度センサ180Jは、温度を検出するように構成される。複数の実施形態のうちのいくつかにおいて、電子デバイス100は、温度センサ180Jが検出する温度に基づいて、温度処理ポリシーを実行する。例えば、温度センサ180Jが報告する温度がしきい値を超えるときに、電子デバイス100は、温度センサ180Jの近傍のプロセッサのパフォーマンスを低下させて、電力消費を減少させ、そして、熱保護を実装する。いくつかの他の実施形態においては、温度が他のしきい値より低いときに、電子デバイス100は、バッテリ142を加熱して、低温に起因する電子デバイス100の異常なシャットダウンを回避する。いくつかの他の実施形態においては、温度がさらに別のしきい値よりも低いときに、電子デバイス100は、バッテリ142の出力電圧を上昇させて、低温に起因する異常なシャットダウンを回避する。
タッチセンサ180Kは、また、"タッチパネル"と称される。タッチセンサ180Kは、ディスプレイ194に配置されてもよく、タッチセンサ180K及びディスプレイ194は、また、"タッチスクリーン"と称されるタッチ画面を形成する。タッチセンサ180Kは、タッチセンサ180Kにおいて又はタッチセンサ180Kの近傍で実行されるタッチ操作を検出するように構成される。タッチセンサは、アプリケーションプロセッサに検出されたタッチ操作を転送して、タッチイベントのタイプを決定することが可能である。タッチ操作に関連する視覚出力は、ディスプレイ194を使用することによって提供されてもよい。いくつかの他の実施形態においては、タッチセンサ180Kは、また、ディスプレイ194の位置とは異なる位置にある電子デバイス100の表面に配置されてもよい。
骨伝導センサ180Mによって、振動信号を取得することが可能である。複数の実施形態のうちのいくつかにおいて、骨伝導センサ180Mによって、人間の声部の振動骨の振動信号を取得することが可能である。骨伝導センサ180Mは、また、人間の脈と接触し、そして、血圧拍動信号を受信することが可能である。複数の実施形態のうちのいくつかにおいて、骨伝導センサ180Mは、代替的に、ヘッドセットの中に配置されて、骨伝導ヘッドセットを形成してもよい。音声モジュール170は、骨伝導センサ180Mが取得する声部の振動骨の振動信号に基づいて、解析によって音声信号を取得して、音声機能を実装ことが可能である。アプリケーションプロセッサは、骨伝導センサ180Mが取得する血圧拍動信号に基づいて、心拍数情報を解析して、心拍数検出機能を実装してもよい。
キー190は、電源ボタン及びボリュームボタン等を含む。キー190は、機械的なキーであってもよく、又はタッチキーであってもよい。電子デバイス100は、キー入力を受信し、そして、電子デバイス100のユーザ設定及び機能制御に関連するキー信号入力を生成することが可能である。
モータ191は、振動プロンプトを生成することが可能である。モータ191は、着信呼振動プロンプト及びタッチ振動フィードバックを生成するように構成されてもよい。例えば、(例えば、写真撮影及びオーディオ再生等の)複数の異なるアプリケーションに対して実行されるタッチ操作は、複数の異なる振動フィードバック効果に対応してもよい。モータ191は、また、ディスプレイ194の複数の異なる領域に対して実行されるタッチ操作に対する複数の異なる振動フィードバック効果に対応してもよい。(例えば、時間リマインダ、情報受信、目覚まし時計、及びゲーム等の)複数の異なる使用シナリオは、また、複数の異なる振動フィードバック効果に対応してもよい。タッチ振動フィードバック効果は、さらにカスタマイズされてもよい。
インジケータ192は、インジケータライトであってもよく、充電状態及び電力変化を示すように構成されてもよく、又は、メッセージ、不在着信、及び通知等を示すように構成されてもよい。
SIMカードインターフェイス195は、SIMカードに接続するように構成される。SIMカードは、SIMカードインターフェイス195に挿入され又はSIMカードインターフェイス195から取り外されて、電子デバイス100との接触を実装するか又は電子デバイス100からの分離を実装してもよい。電子デバイス100は、1つ又はN個のSIMカードインターフェイスをサポートしてもよく、Nは、1よりも大きい正の整数である。SIMカードインターフェイス195は、ナノSIMカード、マイクロSIMカード、及びSIMカード等をサポートしてもよい。複数のカードは、同じSIMカードインターフェイス195に同時に挿入されてもよい。複数のカードは、同じタイプのカードであってもよく、又は、異なるタイプのカードであってもよい。SIMカードインターフェイス195は、また、複数の異なるタイプのSIMカードと互換性があってもよい。SIMカードインターフェイス195は、また、外部記憶カードと互換性があってもよい。電子デバイス100は、SIMカードによってネットワークと対話して、発呼及びデータ通信等の機能を実装する。複数の実施形態のうちのいくつかにおいて、電子デバイス100は、eSIM、すなわち、埋め込み型SIMカードを使用する。eSIMカードは、電子デバイス100の中に埋め込まれていてもよく、電子デバイス100から分離することはできない。
電子デバイス100のソフトウェアシステムは、層状アーキテクチャ、イベント駆動アーキテクチャ、マイクロカーネルアーキテクチャ、マイクロサービスアーキテクチャ、又はクラウドアーキテクチャを使用してもよい。この出願のある1つの実施形態においては、電子デバイス100のソフトウェア構造を記述するためのある1つの例として、層状アーキテクチャを有するアンドロイドシステムを使用する。
図2は、この出願のある1つの実施形態にしたがった電子デバイス100のソフトウェア構成のブロック図である。
階層化アーキテクチャにおいては、ソフトウェアは複数の階層に分割され、各階層は明確な役割とタスクを有する。これらの層は、ソフトウェアインターフェイスを通じて互いに通信する。複数の実施形態のうちのいくつかにおいて、アンドロイドシステムは、アプリケーション層、アプリケーションフレームワーク層、アンドロイドランタイム(Android runtime)及びシステムライブラリ、及びカーネル層の4つの層に分割される。
アプリケーション層は、一連のアプリケーションパッケージを含んでいてもよい。
図2に示されているように、アプリケーションパッケージは、"カメラ"、"ギャラリー"、"カレンダー"、"電話"、"地図"、"ナビゲーション"、"ブルートゥース"、"音楽"、"ビデオ"、及び"メッセージ"等のアプリケーションを含んでいてもよい。
アプリケーションフレームワーク層は、アプリケーション層におけるアプリケーションにアプリケーションプログラミングインターフェイス(application programming interface, API)及びプログラミングフレームワークを提供する。アプリケーションフレームワーク層は、あらかじめ定義されている機能のうちのいくつかを含む。
図2に示されているように、アプリケーションフレームワーク層は、許可(permission)サービスを含んでいてもよい。許可サービスは、例えば、カレンダー内容の読み取り許可(READ_CALENDAR)、カメラの使用の許可(CAMERA)、位置情報の取得の許可(LOCATION)、連絡先の読み取り許可(READ_CONTACTS)、呼記録の読み取り許可(READ_CALL_LOG)等の各々のアプリケーションのアプリケーション許可を管理するのに使用されてもよい。
例えば、許可サービスは、アプリケーション層において、各々のアプリケーションのための1つ又は複数のアプリケーション許可をあらかじめ登録してもよい。ある1つの例としてWeChatアプリケーションを使用する。WeChatアプリケーションのインストールパッケージは、通常は、WeChatアプリケーションの実行に必要な1つ又は複数のアプリケーション許可を記録する。WeChatアプリケーションがアプリケーション層にインストールされているときに、WeChatアプリケーションは、許可サービスに1つ又は複数のアプリケーション許可を登録してもよい。この場合には、図3(a)に示されているように、許可サービスは、ユーザに対して、WeChatアプリケーションが登録するべき1つ又は複数のアプリケーション許可を表示し、そして、WeChatアプリケーションに対してアプリケーション許可を付与するか否かをユーザに尋ねることが可能である。ユーザがOKボタン301をタップしているということを検出するときに、許可サービスは、WeChatアプリケーションの許可アクセスログを生成し、許可アクセスログの中に、ユーザが確認する1つ又は複数のアプリケーション許可を記録し、そして、アプリケーション許可登録手順を完了することが可能である。その後、WeChatアプリケーションの実行プロセスにおいて、各々のアプリケーションの許可を使用するときに、WeChatアプリケーションは、許可サービスを呼び出して、そのアプリケーション許可がWeChatアプリケーションの許可アクセスログの中に記録されているか否かを問い合わせてもよい。アプリケーション許可が許可アクセスログの中に記録されている場合には、今回使用されているアプリケーション許可が付与されているということを示し、許可サービスは、WebChatアプリケーションに対して、対応する機能を実装するために引き続きアプリケーション許可を使用するのを許可してもよい。
代替的に、さらに、ある1つの例として、WeChatアプリケーションを使用する。WeChatアプリケーションをインストールするときに、1つ又は複数のアプリケーション許可が一時的に許可サービスに登録されない場合がある。WeChatアプリケーションが実行されるときに、例えば、図3(b)に示されているように、ユーザが初めてWeChatアプリケーションのコードスキャン機能を使用する場合には、WeChatアプリケーションは、カメラを使用するためのアプリケーション許可を許可サービスに申請する必要がある。この場合に、さらに、図3(b)に示されているように、許可サービスは、ダイアログウインドウ302を使用することによって、WeChatアプリケーションに、カメラを使用するためのアプリケーション許可を与えるか否かをユーザに尋ねてもよい。ユーザがOKボタン303をタップしているということを検出する場合に、許可サービスは、WeChatアプリケーションの許可アクセスログに、カメラを使用する許可を追加してもよい。このようにして、許可サービスは、WeChatアプリケーションの実行プロセスにおけるWeChatアプリケーションに対して、ユーザが付与する1つ又は複数のアプリケーション許可を徐々に登録してもよい。その後、WeChatアプリケーションが、再度カメラを使用することを許可サービスに申請するときに、許可サービスは、WeChatアプリケーションの許可アクセスログに基づいて、WeChatアプリケーションがカメラを使用するのを許可してもよい。
この出願のこの実施形態においては、各々のアプリケーションが、許可サービスの中に対応するアプリケーション許可を登録した後に、許可サービスは、さらに、現在の特定の使用シナリオを参照して、アプリケーションがアプリケーション許可を使用することを許可するか否かを決定してもよい、すなわち、現在の特定の使用シナリオを参照して、アプリケーションが今回アプリケーション許可を使用することを許可するか否かを決定してもよい。例えば、WeChatアプリケーションは、カメラを使用するためのアプリケーション許可を許可サービスにあらかじめ登録する。WeChatアプリケーションがカメラの使用を許可サービスに要求するときに、現在の表示インターフェイスが"ビデオコール"及び"ハングアップ"等のキーワードを含むことを検出する場合には、現在のWeChatアプリケーションがビデオ呼シナリオの最中である可能性があるということを示す。一方で、ビデオ呼シナリオにおいては、カメラが開かれていない場合には、WeChatアプリケーションは、ビデオ呼機能を完了することは不可能である。したがって、許可サービスは、カメラを使用するためのアプリケーション許可を使用することをWeChatアプリケーションに付与する(すなわち、WeChatアプリケーションがカメラを使用するためのアプリケーション許可を使用することを許可する)ことが可能である。それに対応して、WeChatアプリケーションがカメラを使用することを許可サービスに要求するときに、現在の表示インターフェイスがログイン又はパスワード等の制御を含むということを検出する場合には、現在のWeChatアプリケーションがログインシナリオの最中である可能性があるということを示す。これに対して、カメラが開いているか否かは、通常、WeChatアプリケーションのログインに成功することが可能であるか否かには影響を与えない。したがって、許可サービスは、WebChatアプリケーションがカメラを使用するアプリケーション許可を使用することを拒否する場合がある。
言い換えると、アプリケーションがアプリケーション許可を使用することを許可サービスに申請するときに、許可サービスは、現在の特定の使用シナリオを参照して、アプリケーションにアプリケーション許可を付与するか否かを決定してもよい。アプリケーションが申請しそして使用するアプリケーション許可が、現在の使用シナリオに対応する場合には、現在の使用シナリオに沿ってアプリケーション許可を使用することが適切であるということを示す。この場合には、許可サービスは、アプリケーションがアプリケーション許可を継続して使用することを許可して、アプリケーションが提供するさまざまな機能のユーザによる通常の使用に影響を与えないようにしてもよい。
アプリケーションが申請するアプリケーション許可が現在の使用シナリオに対応していないときは、現在の使用シナリオに沿ってアプリケーション許可を使用することが不適切であるということを示す。アプリケーションがアプリケーション許可の使用を継続して許可される場合に、アプリケーションがアプリケーション許可を使用するときに不必要なシステムリソースを消費し、電力消費のオーバーヘッドを増加させる。加えて、アプリケーションが、現在の利用シナリオに対応しないアプリケーション許可の使用を許可された後に、そのアプリケーションは、さらに、アプリケーション許可を乱用して、ユーザのプライバシーを取得する場合があり、ユーザプライバシーの漏洩のリスクを増加させる。したがって、アプリケーションが今回申請しそして使用するアプリケーション許可が、現在の利用シナリオにい対応していない場合には、アプリケーションが今回アプリケーション許可を使用することを許可することを拒否して、システムリソースの消費及びユーザプライバシーの漏洩によるセキュリティ上のリスクを減少させるとともに、ユーザの体験を改善する場合がある。
もちろん、アプリケーションフレームワーク層は、描画サービス、ウインドウマネージャ、コンテンツプロバイダ、電話マネージャ、リソースマネージャ、及び通知マネージャ等をさらに含んでいてもよい。
ウィンドゥマネージャは、ウィンドゥプログラムを管理するように構成される。ウィンドゥマネージャは、ディスプレイのサイズを取得し、ステータスバーが存在するか否かを決定し、スクリーンロックを実行し、スクリーンショットを取る等をする。コンテンツプロバイダは、データを格納して取得し、アプリケーションがデータにアクセスすることを可能とするように構成される。データは、作成されて受信されるビデオ、画像、オーディオ、電話、閲覧履歴及びブックマーク、電話帳等を含んでいてもよい。電話マネージャは、例えば、(応答、拒否等を含む)通話状態の管理等の電子デバイス100の通信機能を提供するように構成される。リソースマネージャは、局所化されているストリング、アイコン、イメージ、レイアウトファイル、及びビデオファイル等のさまざまなリソースをアプリケーションに提供する。通知マネージャは、アプリケーションが通知情報をステータスバーに表示することを可能とし、通知メッセージを伝達するように構成されてもよい。通知マネージャは、ユーザの対話を必要とすることなく、短い一時停止の後に自動的に消滅してもよい。例えば、通知マネージャは、ダウンロード完了通知及びメッセージ通知等を行うように構成されている。通知マネージャは、代替的に、例えば、バックグラウンドで実行されるアプリケーションプログラムの通知又はダイアログウィンドゥの形態で画面に現れる通知等のグラフ又はスクロールバーテキストの形態でシステムの最上位ステータスバーに現れる通知であってもよい。例えば、テキスト情報がステータスバーにプロンプト表示されたり、警告音が鳴ったり、電子デバイスが振動したり、又は、インジケータライトが点滅したりする。
アンドロイドランタイムは、カーネルライブラリ及び仮想マシンを含む。アンドロイドランタイムは、アンドロイドシステムのスケジューリング及び管理の役割を担う。
カーネルライブラリは、Java言語で呼び出す必要のある機能的な機能及びアンドロイドのカーネルライブラリの2つの部分を含む。
アプリケーション層及びアプリケーションフレームワーク層は、仮想マシンにおいて動作する。仮想マシンは、バイナリファイルとしてアプリケーション層及びアプリケーションフレームワーク層のJavaファイルを実行する。仮想マシンは、オブジェクトライフサイクル管理、スタック管理、スレッド管理、セキュリティと例外管理、及びガーベジコレクション等の機能を実行するように構成される。
システムライブラリは、複数の機能モジュール、例えば、サーフェスマネージャ(surface manager)、メディアライブラリ(Media Libraries)、(例えば、OpenGL ES等の)3次元グラフィックス処理ライブラリ、及び(例えば、SGL等の)2Dグラフィックスエンジンを含んでいてもよい。
サーフェスマネージャは、ディスプレイサブシステムを管理し、複数のアプリケーションのために2D及び3D画像層の融合を提供するように構成される。
メディアライブラリは、複数の一般的に使用されるオーディオ及びビデオフォーマット、静止画像ファイル等の再生及び記録をサポートする。メディアライブラリは、MPEG4、H.264、MP3、AAC、AMR、JPG、及びPNG等の複数のオーディオ及びビデオ符号化フォーマットをサポートしてもよい。
3次元グラフィックス処理ライブラリは、3次元グラフィックス描画、画像描画、合成、及び層処理等を実装するように構成される。
2Dグラフィックスエンジンは、2D描画用の描画エンジンである。
カーネル層は、ハードウェアとソフトウェアとの間の層である。カーネル層は、少なくともディスプレイドライバ、カメラドライバ、オーディオドライバ、センサドライバ等を含む。このことは、この出願のこの実施態様においては限定されない。
以下の記載は、電子デバイスが携帯電話であるある1つの例を使用することによって、複数の添付の図面を参照して、この出願の複数の実施形態よって提供されるアプリケーション許可を管理する方法を詳細に説明する。
例えば、ユーザは、携帯電話に気象APPをインストールする。図4(a)に示されているように、開発者は、気象APPのインストールパッケージにおいて、気象APPが登録する必要がある複数のアプリケーション許可を予め記録する。例えば、気象APPが登録する必要があるアプリケーション許可は、位置情報を取得する許可1、マイクを使用する許可2、カレンダーを読み取る許可3、及びカメラを使用する許可4を含む。気象APPがインストールされるときに、気象APPは、気象APPのための許可1乃至許可4を登録することを許可サービスに要求してもよい。この場合には、許可サービスは、気象APPのアプリケーションタイプに基づいて、気象APPが登録を要求するアプリケーション許可が、気象APPのアプリケーションタイプに対応しないアプリケーション許可を含んでいるか否かを識別してもよい。
例えば、表1に示されているように、さまざまなタイプのアプリケーションに対応するアプリケーション許可のセットをあらかじめ携帯電話の中に格納してもよい。ある1つの例として表1の社会的アプリケーションを使用すると、社会的アプリケーションに対応するアプリケーション許可は、通常は、社会的アプリケーションがユーザにさまざまな機能を提供するときに使用することが必要となるアプリケーション許可であり、それらのアプリケーション許可を使用するときは、社会的アプリケーションは、通常は、悪意を持って/余分にユーザプライバシーを取得しない。この場合には、気象APPが許可1乃至許可4を登録することを要求するときに、携帯電話は、許可1乃至許可4のすべてが気象タイプに対応するアプリケーション許可のセットに属しているか否かを問い合わせてもよい。もちろん、携帯電話は、サーバに対して、許可1乃至許可4が不適切なアプリケーション許可を含んでいるか否かを問い合わせてもよい。このことは、この出願のこの実施態様においては限定されない。
例えば、許可1乃至許可3のすべてが気象タイプに対応するアプリケーション許可のセットに属しているが、許可4が気象タイプに対応するアプリケーション許可のセットに属していない場合に、気象APPの実行時に許可4を使用する必要はないということを示す。この場合には、許可サービスは、気象APPのために許可4の登録を自動的に拒否してもよい。例えば、図4(b)に示されているように、携帯電話は、ダイアログボックス401において、気象APP許可1乃至許可3を付与するようにユーザに促してもよく、既に、携帯電話は、デフォルトで許可4の登録を拒否する。したがって、携帯電話は、ダイアログボックス401において、許可4を付与するようにユーザに促す必要はない。続いて、携帯電話は、ユーザがダイアログボックス401においてOKボタン402をタップしているということを検出する場合に、気象APPの許可アクセスログにおいて、気象APPが許可1乃至許可3を使用することを許可してもよい。このように、アプリケーションが携帯電話の中にアプリケーション許可を登録するときに、携帯電話は、ユーザにとって相対的に高いセキュリティリスクを有するアプリケーション許可を自動的に遮断して、アプリケーションがその後に相対的に高いセキュリティリスクを有するアプリケーション許可を使用することによって、ユーザのプライバシーを取得することを防止するとともに、プライバシー漏洩等のセキュリティの問題を回避することが可能である。
代替的に、図4(c)に示されているように、携帯電話が、気象APPが登録を要求する許可4が不適切なアプリケーション許可であるということを識別するときは、携帯電話は、さらに、ダイアログボックス403の中に許可4を表示してもよい。一方で、携帯電話は、ダイアログボックス403の中で、許可4を付与するセキュリティリスクが比較的高いということをユーザに教え、気象APPに対して許可4を付与しないことをユーザに推奨する。この場合、ユーザは、ダイアログボックス403の中のプロンプトに基づいて、気象APPに許可4を付与するか否かを手動で選択してもよい。このことは、この出願のこの実施態様においては限定されない。
代替的に、新たなアプリケーションが携帯電話にインストールされ又は実行されるときに、携帯電話は、表1に示されている対応関係に基づいて、自動的に、許可サービスの中に、そのアプリケーションに対する1つ又は複数の対応するアプリケーション許可を登録してもよい。このように、新しいアプリケーションを使用するときに、ユーザは、アプリケーションにアプリケーション許可を付与するプロセスを知覚しない。加えて、そのアプリケーションに付与されるアプリケーション許可は、携帯電話が決定するとともに、アプリケーションタイプと一致する比較的適正なアプリケーションのアクセス許可であることが多いため、不正なアプリケーション許可を悪用してユーザのプライバシーを取得するリスクを軽減することが可能である。
複数の実施形態のうちのいくつかにおいては、アプリケーションが携帯電話の許可サービスの中に1つ又は複数のアプリケーション許可を登録した後に、各々のアプリケーション許可を使用するときは、そのアプリケーションは、許可サービスを呼び出して、現在使用されているアプリケーション許可が登録されているアプリケーション許可であるということを決定する必要がある。
例えば、図5に示されているように、地図アプリケーションは、許可サービスの中に、位置情報の取得の許可、マイクロフォンの使用の許可、カメラの使用の許可、及びブルートゥースの使用の許可等の4つのアプリケーション許可を登録する。この場合には、地図アプリケーションがいずれかのアプリケーション許可を使用するときに、地図アプリケーションは、地図アプリケーションが今回アプリケーション許可を使用することを許可することを許可サービスに申請する必要がある。例えば、地図アプリケーションが、カメラを使用して、地図アプリケーションを実行しているときにカメラが取得する画像情報を取得する必要がある場合に、地図アプリケーションは、今回カメラの使用を許可するためのアプリケーション許可を許可することを許可サービスに要求することが可能である。さらに、許可サービスは、地図アプリケーションの許可アクセスログにおいて、地図アプリケーションがカメラを使用する許可を登録しているか否かを問い合わせてもよい。地図アプリケーションがカメラを使用するアプリケーション許可を登録している場合には、許可サービスは、さらに、現在の使用シナリオに基づいて、地図アプリケーションが今回カメラを使用することを許可するか否かを決定してもよい。
例えば、シナリオ識別モデルは、携帯電話の中にあらかじめ設定されてもよく、シナリオ識別モデルは、現在のアプリケーションの使用シナリオを識別するのに使用されてもよい。例えば、地図アプリケーションが、今回カメラを使用するためのアプリケーション許可を許可することを許可サービスに要求するときに、許可サービスは、スクリーンショットサービスを呼び出して、現在表示されているインターフェイスのスクリーンショットを取得してもよい。さらに、許可サービスは、シナリオ識別モデルに、得られたスクリーンショットを入力してもよく、シナリオ識別モデルは、スクリーンショットの中のテキスト又は制御等のスクリーンショット情報に基づいて、現在の使用シナリオを識別する。
代替的に、携帯電話は、さらに、OCR(optical character recognition, 光学式文字認識)技術を使用することによって、現在の表示インターフェイスにおけるキーワードを抽出してもよい。さらに、許可サービスは、シナリオ識別モデルに、抽出されたキーワードを入力してもよく、シナリオ識別モデルは、そのキーワードに基づいて、現在の使用シナリオを識別する。
代替的に、携帯電話は、さらに、例えば、レイアウトツリー(layout tree)等のビュー(view)等のサービスを使用することによって、現在の表示インターフェイスのレイアウト機能を取得してもよい。さらに、許可サービスは、シナリオ識別モデルに、抽出されたレイアウト特徴を入力してもよく、シナリオ識別モデルは、そのレイアウト特徴に基づいて、現在の使用シナリオを識別する。もちろん、携帯電話は、さらに、現在のアプリケーションの特定の使用シナリオを識別することをサーバに要求してもよい。特定の使用シナリオを識別する方式は、この出願のこの実施形態においては限定されない。
さらに、ある1つの例として、地図アプリケーションを使用する。図6(a)に示されているように、アカウント又はログインパスワード等のアイコン又はキーワードが、現在の表示インターフェイスの中に現れる場合に、携帯電話は、地図アプリケーションが、現在、ログインシナリオの最中であるということを決定してもよい。図6(b)に示されているように、地図、ナビゲーション、ルート等のアイコン又はキーワードが、現在の表示インターフェイスの中に現れる場合には、携帯電話は、地図アプリケーションが、現在、測位シナリオの最中であるということを決定してもよい。図6(c)に示されているように、地図アプリケーションの表示要素が、現在の表示インターフェイスに現れない場合には、携帯電話は、地図アプリケーションが現在実行中のバックグラウンドシナリオの最中であるということを決定してもよい。
代替的に、ある1つの例としてWeChatアプリケーションを使用する。図7(a)に示されているように、携帯電話が、アカウント又はログインパスワード等のアイコン又はキーワードが、現在の表示インターフェイスの中に表示されているということを検出する場合に、携帯電話は、ログインシナリオとして表示インターフェイスをマークしてもよい。図7(b)に示されているように、携帯電話が、チャットバブル等のアイコン又は制御が、現在の表示インターフェイスの中に現れているということを検出する場合に、携帯電話は、メッセージシナリオとして表示インターフェイスをマークしてもよい。図7(c)に示されているように、携帯電話が、現在の表示インターフェイスの中に再生進行バー又は再生ボタン等の制御が表示されているということを検出する場合、或いは、携帯電話が、消費されたデータトラフィックがあるしきい値よりも大きいということを検出する場合には、携帯電話は、再生シナリオとして表示インターフェイスをマークしてもよい。
さらに、ある1つの例として、地図アプリケーションを使用する。携帯電話が地図アプリケーションの現在の使用シナリオを決定した後に、携帯電話は、使用シナリオを参照して、地図アプリケーションに、今回カメラを使用するためのアプリケーション許可を許可するか否かを決定してもよい。図8に示されているように、地図アプリケーションが測位シナリオの最中であるということを検出する場合に、携帯電話は、測位シナリオと一致するアプリケーション許可が、カメラを使用するためのアプリケーション許可を含むか否かを決定してもよい。測位シナリオと一致するアプリケーション許可が、カメラを使用するためのアプリケーション許可を含む場合に、地図アプリケーションがカメラを使用することによって操作を実行することのセキュリティリスクが相対的に低いということを示し、許可サービスは、地図アプリケーションに、カメラを使用するためのアプリケーション許可を許可してもよい。それに対応して、測位シナリオと一致するアプリケーション許可が、カメラを使用するためのアプリケーション許可を含んでいない場合には、地図アプリケーションがカメラを使用することによって操作を実行することのセキュリティリスクが相対的に高いということを示している。この場合には、許可サービスは、地図アプリケーションに対して、カメラを使用するためのアプリケーション許可を許可することを拒否してもよい。
例えば、表2に示されているように、各々のアプリケーション許可と利用シナリオホワイトリストとの間の対応関係は、携帯電話の中にあらかじめ設定されていてもよい。
各々のアプリケーション許可は、アプリケーション許可が使用されることを許可される1つ又は複数の使用シナリオに対応する。例えば、カメラを使用するためのアプリケーション許可を使用することを許可されるシナリオは、撮影/ビデオ記録シナリオ、乗車シナリオ、買い物/スキャニングコードシナリオ、社会的通信シナリオ、及び証明書処理シナリオを含む。例えば、WeChatアプリケーションは、携帯電話によって実行される。WeChatアプリケーションを実行するときに、WeChatアプリケーションが、撮影/ビデオ記録シナリオ等の使用シナリオホワイトリストの中のシナリオに沿ってカメラを使用することを許可サービスに申請しているということを検出する場合には、許可サービスは、WeChatアプリケーションが今回カメラを使用することの許可要求を許可してもよい。WeChatアプリケーションが、チャット等の使用シナリオホワイトリストの中に含まれていないシナリオに沿ってカメラを使用することを許可サービスに申請しているということを検出する場合には、許可サービスは、WetChatアプリケーションが今回カメラを使用することの許可要求を拒否してもよい。
例えば、携帯電話が、地図アプリケーションがカメラの使用を要求する使用シナリオが、測位シナリオであるということを識別する場合に、携帯電話は、表2を使用することによって、測位シナリオが、カメラを使用するためのアプリケーション許可に対応する使用シナリオホワイトリストの中に存在しないということを決定してもよい。このことは、測位シナリオに沿ってカメラを使用する操作は、ユーザにとって比較的高いセキュリティリスクを有するということを示す。したがって、携帯電話は、今回のカメラを使用するためのアプリケーション許可を地図アプリケーションに許可することを拒否してもよい。この場合には、図8に示されているように、携帯電話は、通知701を表示し、そして、携帯電話が、地図アプリケーションが今回カメラを使用するための許可アプリケーションを拒否したということを通知701においてユーザに通知してもよい。
例えば、携帯電話の中の許可サービスが、カメラを使用するためのアプリケーション許可を地図アプリケーションに許可することを拒否するときに、地図アプリケーションに許可拒否応答であるPERMISSION_DENIEDを返送してもよい。許可拒否応答を受信した後に、地図アプリケーションは、カメラを開くためのカメラサービスを継続して呼び出して、画像情報を取得することは不可能であり、それにより、アプリケーションが、システムリソースを消費するためのアプリケーション許可又はユーザプライバシーを取得するためのアプリケーション許可を乱用するという問題を回避する。
この出願のこの実施態様における上記の使用シナリオの分割は、説明のためのある1つの例であるにすぎないということに留意すべきである。このことは、この出願のこの実施態様においては限定されない。
加えて、この出願の複数の実施形態のうちのいくつかにおいて、"使用シナリオ"は、この出願によって提供される複数の技術的解決方法を説明するための概念として使用されてもよい。テキスト、アイコン、制御、又は操作等の使用シナリオを示すのに使用される検出項目を検出するときに、携帯電話は、それらの検出項目に基づいて、アプリケーションがアプリケーション許可を使用することを許可するべきであるか又は拒否するべきであるかを決定してもよい。この場合には、携帯電話は、実際には、使用シナリオを決定するステップを実行する必要はない。例えば、対応するアイコン(又は、制御)ホワイトリストと複数の異なるアプリケーション許可との間の対応関係が、携帯電話の中に設定されていてもよい。携帯電話が、地図又は経路のアイコンが現在の表示インターフェイスに表示されているということを検出する場合に、その検出は、携帯電話がこの時点においては測位シナリオの最中であるということを意味する。この状況において、許可サービスが、地図アプリケーションによるカメラを使用することの要求を受信する場合には、許可サービスは、上記の対応関係に基づいて、地図アプリケーションが今回カメラを使用するための許可アプリケーションを直接的に拒否してもよい。
さらに、携帯電話が、ユーザが表示通知701をタップしているということを検出する場合に、図9(a)に示されているように、携帯電話は、地図アプリケーションの許可管理インターフェイス801にジャンプしてもよい。許可管理インターフェイス801においては、ユーザは、地図アプリケーションのための対応するアプリケーション許可を手動で有効化し又は無効化してもよい。加えて、有効化されているアプリケーション許可については、携帯電話は、さらに、アプリケーション許可の特定の使用シナリオを修正する機能を設定してもよい。例えば、携帯電話が、ユーザが許可管理インターフェイス801においてカメラのアプリケーション許可を使用するための設定ボタン802をタップしているということを検出する場合に、図9(b)に示されているように、携帯電話は、地図アプリケーションがカメラのアプリケーション許可を使用する特定の使用シナリオを表示してもよい。ユーザは、地図アプリケーションがカメラを使用することを許可される使用シナリオを手動で追加してもよく、又は、地図アプリケーションがカメラを使用することを許可される現在許可されている使用シナリオを無効化してもよい。このことは、この出願のこの実施態様においては限定されない。
いくつかの他の実施形態において、携帯電話が、現在の測位シナリオが、カメラを使用するためのアプリケーション許可に対応する使用シナリオホワイトリストの中に存在しないということを決定する場合には、図10に示されているように、携帯電話は、ダイアログボックス901を表示し、そして、地図アプリケーションがカメラ機能の現在の使用を予想しているユーザに対して、ダイアログボックス901の中でプロンプトを表示してもよい。加えて、携帯電話は、プロンプトボックス901において、地図アプリケーションが今回カメラを使用することを許可されているか否かをユーザに尋ねてもよい。ユーザが"拒否"ボタン902をタップしているということを検出する場合に、携帯電話の中の許可サービスは、カメラを使用するためのアプリケーション許可を地図アプリケーションに許可することを拒否する。ユーザが"許可"ボタン903をタップしているということを検出する場合に、携帯電話は、ユーザが、現在の使用シナリオに沿ってカメラを使用することのセキュリティリスクを認識しているということを示し、ユーザは、依然として、地図アプリケーションが現在の使用シナリオに沿ってカメラを使用することを許可する。この場合には、携帯電話は、カメラを使用するためのアプリケーション許可を地図アプリケーションに許可してもよい。例えば、許可サービスは、地図アプリケーションに、許可付与応答であるPERMISSION_GRANTEDを返送してもよい。その許可付与応答を受信した後に、地図アプリケーションは、カメラサービスを継続して呼び出して、画像情報を取り込むためにカメラを開いてもよい。
携帯電話の中に、各々のアプリケーション許可と使用シナリオホワイトリストとの間の対応関係を設定するのに加えて、携帯電話の中に、さらに、各々のアプリケーション許可と使用シナリオブラックリストとの間の対応関係を設定してもよいということに留意すべきである。この場合には、携帯電話が、地図アプリケーションがカメラを使用するためのアプリケーション許可を許可サービスに申請しているということを検出する場合に、携帯電話は、現在の使用シナリオが、カメラを使用するためのアプリケーション許可に対応する使用シナリオブラックリストの中に存在するか否かを決定してもよい。現在の使用シナリオが、カメラを使用するためのアプリケーション許可に対応する使用シナリオブラックリストの中に存在する場合には、現在の使用シナリオに沿って地図アプリケーションがカメラを使用する操作は、ユーザにとって比較的高いセキュリティリスクを伴う操作であるということを示す。したがって、携帯電話は、カメラを使用するためのアプリケーション許可を地図アプリケーションに許可することを拒否してもよい。
代替的に、携帯電話が、地図アプリケーションがカメラを使用するためのアプリケーション許可を許可サービスに申請しているということを検出する場合に、その携帯電話は、さらに、地図アプリケーションが現在の使用シナリオに沿ってカメラを使用することによって画像情報を取り込むのに適しているか否かを決定することをサーバに要求してもよい。このことは、この出願のこの実施態様においては限定されない。例えば、図11に示されているように、携帯電話は、サーバに、地図アプリケーションの許可アクセスログを報告してもよい。加えて、地図アプリケーションを実行するときに、携帯電話は、表示インターフェイスのスクリーンショットを周期的に撮影し、そして、サーバに、得られたスクリーンショットを報告してもよい。携帯電話が送信するスクリーンショットに基づいて、サーバは、機械学習の関連するアルゴリズムを使用することによって、複数の異なるスクリーンショットが属する使用シナリオを識別してもよい。代替的に、各々のスクリーンショットの使用シナリオは、手動マーキング法を使用することによってスタッフメンバーがマーク付けしてもよい。さらに、地図アプリケーションの許可アクセスログを参照して、サーバは、その許可アクセスログの中の複数の異なるアプリケーション許可と使用シナリオホワイトリストとの間の(例えば、表2の)対応関係を確立し、そして、携帯電話にその対応関係を配信してもよい。このようにして、携帯電話の中の地図アプリケーションが、アプリケーション許可を使用することを許可サービスに要求するときに、その許可サービスは、シナリオ識別モジュールが識別する特定の使用シナリオ及びサーバが配信する対応関係に基づいて、現在の使用シナリオに沿って地図アプリケーションが要求するアプリケーション許可が適切であるか否かを決定し、そして、さらに、地図アプリケーションがアプリケーション許可を使用することを許可し又は拒否してもよい。
上記の実施形態においては、説明のために、地図アプリケーションが、測位シナリオにおいてカメラを使用するためのアプリケーション許可を使用することを要求するある1つの例を使用している。地図アプリケーションが、他の使用シナリオに沿っていずれかのアプリケーション許可を使用することを要求するときに、携帯電話の中の許可サービスは、上記の方法にしたがって、地図アプリケーションが今回アプリケーション許可を使用することを許可し/拒否してもよいということを理解することが可能である。
それに対応して、他のアプリケーションが複数の異なる使用シナリオに沿ってアプリケーション許可を使用することを申請するときに、携帯電話は、また、上記の方法にしたがって、アプリケーションがアプリケーション許可を使用することを許可し/拒否してもよい。
ある1つの例として読み取りアプリケーシを使用して、携帯電話がその読み取りアプリケーションを実行するときに、携帯電話は、周期的に、現在の使用シナリオを識別し、そして、最新の識別された使用シナリオを格納してもよい。許可サービスが、読み取りアプリケーションから位置情報を取得するための要求を受信する場合には、図12に示されているように、許可サービスは、最も最近に識別された使用シナリオが読み取りシナリオであるということを取得してもよい。さらに、許可サービスは、位置情報を取得するためのアプリケーション許可に対応する使用シナリオホワイトリストが、表2の中の読み取りシナリオを含むか否かを問い合わせてもよい。位置情報を取得するためのアプリケーション許可に対応する使用シナリオホワイトリストが、読み取りシナリオを含んでいない場合に、読み取りシナリオに沿ってユーザの位置情報を取得する操作は、ユーザのセキュリティリスクが高い操作であるということを示す。したがって、許可サービスは、位置情報を取得するためのアプリケーション許可を読み取りアプリケーションに許可することを拒否してもよい。
例えば、許可サービスが、位置情報を取得するためのアプリケーション許可を読み取りアプリケーションに許可することを拒否するときに、許可サービスは、読み取りアプリケーションに、許可付与応答であるPERMISSION_GRANTEDを返送してもよい。加えて、許可サービスは、測位サービスに、読み取りアプリケーションに今回は偽の位置情報を提供するように測位サービスに指示する指示情報を送信してもよい。このようにして、許可付与応答を受信した後に、読み取りアプリケーションは、測位サービスに、ユーザの現在の位置情報を報告するように測位サービスに要求する位置要求を継続して送信してもよい。測位サービスは、許可サービスが送信する指示情報を受信しているため、読み取りアプリケーションが送信する位置要求を受信した後に、測位サービスは、読み取りアプリケーションにユーザの現在の実際の位置情報を報告する代わりに、読み取りアプリケーションに偽の位置情報を報告してもよい。例えば、測位サービスは、経度及び緯度の位置情報をランダムに生成し、そして、読み取りアプリケーションにその位置情報を報告してもよい。他の例として、測位サービスは、携帯電話があらかじめ設定する(例えば、北極及び南極等の)いずれかの位置の緯度及び経度情報を取得し、そして、さらに、読み取りアプリケーションにその取得した緯度及び経度情報を報告してもよい。
このように、読み取りアプリケーションは、読み取りシナリオにおいて位置サービスを使用するためのアプリケーション許可を取得するが、その測位サービスから読み取りアプリケーションが最終的に取得する位置情報は、ユーザの実際の位置情報ではない。このことにより、読み取りアプリケーションが、不適切な使用シナリオに沿ってユーザの位置情報をランダムに取得することを回避する。
複数の実施形態のうちのいくつかにおいて、いくつかのアプリケーションが、アプリケーション許可を使用することを許可サービスに申請するときに、許可サービスが返送する許可付与応答を取得していない場合には、そのアプリケーションは、例えば、予期しない終了、停止、又はクラッシュ等のユーザの使用に影響する例外に遭遇する場合がある。それらのアプリケーションは、以降の実施形態においては特定のタイプのアプリケーションと称されてもよい。この場合には、許可サービスが、読み取りアプリケーションが今回要求するアプリケーション許可が、現在の使用シナリオに対応していないということを決定する場合には、許可サービスは、さらに、読み取りアプリケーションが特定のタイプのアプリケーションであるか否かを取得してもよい。読み取りアプリケーションが特定のタイプのアプリケーションである場合には、許可サービスは、上記の方法にしたがって、読み取りアプリケーションに、対応する偽のデータを提供するように関連するサービスに指示してもよい。
偽データは、アプリケーションが許可サービスによって、(例えば、位置サービス、連絡先サービス、又は電話サービス等の)サービスに(例えば、位置情報、連絡先情報、又は画像情報等の)ユーザデータを要求することを許可されるときに、対応するサービスが、実際のユーザデータと一致しない仮想データをアプリケーションに提供するということを意味する。例えば、偽のデータは、偽の位置情報、偽の国際モバイル機器識別情報(international mobile equipment identity, IMEI)、偽のシリアル番号(serial number, SN)、偽の連絡先情報、又は偽の写真等である。このように、特定のタイプの上記のアプリケーションによってユーザの実際のデータが漏洩することを防ぐことが可能であり、特定のタイプの上記のアプリケーションの通常の実行プロセスには影響を与えない。
例えば、読み取りシナリオにおいて、読み取りアプリケーションが、許可サービスに位置情報を取得することを要求しているということを検出する場合に、許可サービスは、今回は読み取りアプリケーションに偽の位置情報を提供するように測位サービスに自動的に指示してもよい。この場合には、図13(a)に示されているように、携帯電話は、通知1001を表示してもよく、通知1001は、今回読み取りアプリケーションに提供される位置情報が、ユーザの実際の位置情報ではないということをユーザに教てもよい。
加えて、携帯電話は、さらに、通知1001において、修正ボタン1002を設定してもよい。携帯電話が、ユーザがボタン1002を選択しているということを検出する場合に、図13(b)に示されているように、携帯電話は、位置情報を取得するために、アプリケーション許可の管理インターフェイス1003にジャンプしてもよい。管理インターフェイス1003においては、ユーザは、読み取りアプリケーションに位置情報を報告する特定の方式を手動で修正してもよい。例えば、読み取りアプリケーションに位置情報を報告することを禁止するオプション1004が、管理インターフェイス1003の中に設定される。読み取りアプリケーションが、特定のタイプの上記のアプリケーションである場合には、携帯電話は、さらに、オプション1004を選択した後に、読み取りアプリケーションが正常に動作しない場合があるということをユーザに教えてもよい。他の例では、読み取りアプリケーションに偽の位置情報を報告するオプション1005及び読み取りアプリケーションに実際の位置情報を報告するオプション1006は、さらに、管理インターフェイス1003の中に設定されてもよい。位置情報を取得するためのアプリケーション許可に対応する使用シナリオホワイトリストが、読み取りシナリオを含んでいない場合には、携帯電話は、さらに、オプション1006を選択するようにユーザに促し、ユーザプライバシー漏洩のセキュリティリスクを増大させる場合がある。
代替的に、携帯電話が、読み取りシナリオにおいて、読み取りアプリケーションが、許可サービスに位置情報を取得することを要求しているということを検出する場合には、図14に示されているように、携帯電話は、プロンプトボックス1007において、読み取りアプリケーションが位置情報を取得することを許可するか否かをユーザに問い合わせてもよい。読み取りアプリケーションは、特定のタイプの上記のアプリケーションに属しているため、ユーザが"拒否"ボタン1008をタップしているということを検出する場合に、読み取りアプリケーションの予期せぬ終了、停止、又はクラッシュ等の現象を回避するために、携帯電話の中の許可サービスは、上記の方法にしたがって、読み取りアプリケーションに偽の位置情報を提供するように測位サービスに指示して、読み取りアプリケーションによってユーザの実際の位置情報が漏えいするのを防止することが可能である。
複数の実施形態のうちのいくつかにおいて、アプリケーションリストは、携帯電話の中にあらかじめ設定されていてもよく、アプリケーションリストの中のアプリケーションのすべては、特定のタイプの上記のアプリケーションに属している。さらに、ある1つの例として、上記の読み取りアプリケーションを使用する。携帯電話が、読み取りアプリケーション要求が使用するアプリケーション許可が、現在の使用シナリオに対応していないということを検出する場合には、携帯電話は、上記のアプリケーションリストにしたがって、読み取りアプリケーションが上記の特定のタイプのアプリケーションであるか否かを決定してもよい。
代替的に、いくつかのアプリケーションが、特定のタイプのアプリケーション許可を使用することを許可サービスに申請するときに、許可サービスが返送する許可付与応答を取得していない場合に、アプリケーションは、例えば、予期しない終了、停止、又はクラッシュ等のユーザの使用に影響を与える例外に遭遇する場合がある。この場合には、さらに、上記のアプリケーションリストの中に、ユーザの使用に影響を与える特定のタイプのアプリケーション許可を設定してもよい。例えば、アプリケーションリストは、アプリケーションAを含み、アプリケーションAに対応する特定のタイプのアプリケーション許可は、アプリケーション許可1及びアプリケーション許可2を含む。この場合には、さらに、ある1つの例として、上記の読み取りアプリケーションを使用する。携帯電話が、読み取りアプリケーションが使用することを要求するアプリケーション許可が、現在の使用シナリオに対応していないということを検出するときに、携帯電話が、上記のアプリケーションリストが読み取りアプリケーションを含み、読み取りアプリケーションに対応する特定のタイプのアプリケーション許可が、読み取りアプリケーションが今回使用することを要求するアプリケーション許可を含むということを発見する場合には、携帯電話は、上記の方法にしたがって、読み取りアプリケーションに、対応する偽のデータを提供するように関連するサービスに指示してもよい。
加えて、携帯電話は、さらに、アプリケーションリストの中に記録されているアプリケーション又はアプリケーション許可を更新してもよい。例えば、許可サービスが、アプリケーション3を使用するためのアプリケーションBの許可アプリケーションを拒否した後に、携帯電話がアプリケーションBの予期せぬ終了、失速、又はクラッシュ等の現象を検出する場合に、携帯電話は、上記アプリケーションリストにアプリケーションBを追加し、アプリケーションBに対応する特定のタイプのアプリケーション許可がアプリケーション3を含むということをアプリケーションリストに記録してもよい。もちろん、携帯電話は、代替的に、アプリケーションリストの作成又は更新をサーバに要求してもよい。このことは、この出願のこの実施態様においては限定されない。
この出願のこの実施形態によって提供されるアプリケーション許可を管理する方法において、携帯電話は、粒度として使用シナリオを使用することによって、複数の異なる使用シナリオにおける対応するアプリケーション許可を取得するようにアプリケーションを制御して、アプリケーション許可を登録した後に、アプリケーションがアプリケーション許可を乱用して、ユーザプライバシーを取得することを防止してもよい。このことは、ユーザプライバシーの漏洩のセキュリティリスクを減少させるとともに、ユーザ体験を改善する。
携帯電話は、よりきめ細かい使用シナリオに基づいて、アプリケーションが使用することを要求するアプリケーション許可を制御することが可能であるため、複数の実施形態のうちのいくつかにおいては、アプリケーションが携帯電話の中の許可サービスにアプリケーション許可を登録するプロセスを省略してもよい。言い換えると、アプリケーションがインストールされ又は実行されるときに、後で使用する必要がある1つ又は複数のアプリケーション許可は、許可サービスの中にあらかじめ登録されている必要はない。それに対応して、アプリケーションがアプリケーション許可を使用する必要があるときは、その都度、許可サービスは、現在の使用シナリオに基づいて、アプリケーションがアプリケーション許可を使用することを許可し又は拒否してもよい。
例えば、携帯電話は、現在の使用シナリオをリアルタイムで検出し、携帯電話の中に変数を設定して、最も直近に検出された特定の使用シナリオを格納してもよい。ある1つの例としてWeChatアプリケーションを使用する。WeChatアプリケーションがインストールされているときに、WeChatアプリケーションに対してアプリケーションの許可を許可する必要はない。図15に示されているように、現在のシナリオがWeChatアプリケーションのログインシナリオであるということを検出した後に、携帯電話は、上記の変数によって、WeChatログインシナリオとして現在の使用シナリオを保存することが可能である。さらに、許可サービスが、WeChatアプリケーションが送信するとともに、カメラを使用することを要求する許可アプリケーションを受信する場合に、許可サービスは、カメラを使用するためのアプリケーション許可に対応する使用シナリオホワイトリストが、WeChatログインシナリオを含むか否かを表2に照会してもよい。カメラを使用するためのアプリケーション許可に対応する使用シナリオホワイトリストが、WeChatログインシナリオを含んでいない場合には、WeChatログインシナリオにおいてカメラを使用すると、ユーザのプライバシーが漏洩する場合があるということを示す。したがって、許可サービスは、カメラを使用するためのアプリケーション許可をWebチャットアプリケーションに許可することを拒否してもよい。この場合には、さらに、図15に示されているように、携帯電話は、ダイアログボックス1101を表示して、WeChatによって今回カメラを使用するための許可アプリケーションが拒否されたということをユーザに教えてもよい。
図16(a)に示されているように、WeChatアプリケーションへのログインに成功した後に、携帯電話は、WeChatアプリケーションの表示インターフェイス1201を表示することが可能であり、表示インターフェイス1201は、2次元コードをスキャンするのに使用されるコードスキャニングボタン1202を含む。携帯電話が、ユーザがコードスキャニングボタン1202をタップしているということを検出する場合には、図16(b)に示されているように、携帯電話は、WeChatアプリケーションにおいてコードスキャニングインターフェイス1203を表示してもよい。この場合には、一方で、携帯電話は、現在の使用シナリオがコードスキャニングシナリオに更新されているということを検出することが可能である。これに対して、WeChatアプリケーションのコードスキャン機能は、カメラを使用して、2次元コード情報を取得する必要があるため、WeChatアプリケーションは、携帯電話の中の許可サービスに、今回カメラを使用するためのアプリケーション許可をWeChatアプリケーションに許可するように要求してもよい。この場合には、現在のコードスキャニングシナリオを参照して、表2に示されている対応関係から、今回のWeChatアプリケーションによるコードスキャニングシナリオにおけるカメラの使用は、適切な許可アプリケーションであるということを決定してもよい。したがって、許可サービスは、WeChatアプリケーションに、許可付与応答であるPERMISSION_GRANTEDを自動的に返送してもよい。許可付与応答を受信した後に、WeChatアプリケーションは、カメラサービスを継続して呼び出して、画像情報を取り込むためにカメラを開いてもよい。このようにして、携帯電話は、ユーザが知覚することなく、相対的に低いセキュリティリスクを有する適切なシナリオにおいて、アプリケーションが関連するアプリケーション許可を使用することを自動的に許可して、ユーザプライバシーの漏洩のリスクを減少させるとともに、ユーザの体験を改善することが可能である。
いくつかの他の実施形態においては、図16(b)に示されているように、WeChatアプリケーションがコードスキャニングシナリオにおいて今回カメラを使用することが適切な許可アプリケーションであるということを決定した後に、携帯電話は、さらに、コードスキャニングインターフェイス1203にダイアログボックス1204を表示し、そのダイアログボックス1204において、WeChatアプリケーションがコードスキャニングシナリオにおいてカメラ機能を使用することであるということをユーザに教え、WeChatアプリケーションがカメラ機能を使用することを許可するか否かをユーザに尋ねてもよい。ユーザが"今回は許可する"ボタン1205を選択しているということを検出する場合に、そのことは、ユーザが、コードスキャニングシナリオにおいてのみ、WeChatアプリケーションがカメラ許可を使用することを許可するということを示す。したがって、許可サービスは、ユーザの選択に応答して、WeChatアプリケーションがカメラを使用することを許可してもよい。その後、携帯電話が、WeChatアプリケーションがカメラを使用することを申請しているということをコードスキャニングシナリオにおいて再び検出する場合に、携帯電話は、ダイアログボックス1204を継続して表示して、WeChatアプリケーションがカメラを使用することを許可するようユーザに促してもよい。
代替的に、ダイアログボックス1204を表示するときに、携帯電話は、さらに、"毎回許可する"ボタン1205を設定してもよい。カメラを使用するためのシナリオホワイトリストは、コードスキャニングシナリオを含むため、アプリケーションがコードスキャニングシナリオにおいてカメラを使用することを許可することは、通常、ユーザプライバシーを漏洩させないということを示す。したがって、携帯電話は、ユーザが"毎回許可する"ボタン1205を選択することを推奨してもよい、具体的にいうと、WeChatアプリケーションがコードスキャニングシナリオにおいてカメラを使用することを毎回許可してもよい。この場合には、ユーザが"毎回許可する"ボタン1205を選択しているということを検出する場合に、ユーザが、コードスキャニングシナリオにおいてカメラを使用するためのアプリケーション許可をWeChatアプリケーションに毎回許可するということを示す。さらに、許可サービスは、ユーザの選択に応答して、WeChatアプリケーションがカメラを使用することを許可してもよい。加えて、WeChatアプリケーションがカメラを使用することを申請しているということをコードスキャニングシナリオにおいてその後に検出する場合に、携帯電話は、カメラを使用するためのアプリケーション許可をWeChatアプリケーションに自動的に許可してもよく、ダイアログボックス1204をもはや表示しなくてもよい。
代替的に、ダイアログボックス1204を表示するときに、携帯電話は、さらに、"許可することを拒否する"ボタン1206を設定してもよい。携帯電話が、"許可することを拒否する"ボタン1206がタップされているということを検出する場合に、携帯電話は、コードスキャン機能を完了することが不可能であるということをユーザに教えてもよい。ユーザが、さらに、コードスキャニングシナリオにおいてWeChatアプリケーションカメラを使用することを拒否する場合に、携帯電話は、WeChatアプリケーションがカメラを使用することを許可することを拒否してもよい。
いくつかの他の実施形態において、さらに、ある1つの例として、WeChatアプリケーションを使用する。携帯電話が、WeChatアプリケーションがアプリケーション許可を使用することを許可し/拒否するときに、携帯電話は、WeChatアプリケーションがアプリケーション許可を使用することを許可されている特定の使用シナリオによってユーザに促してもよい。例えば、図17(a)に示されているように、WeChatアプリケーションがカメラを使用するためのアプリケーション許可を許可することを許可サービスに要求しているということをWeChatログインシナリオにおいて初めて検出する場合に、携帯電話は、ダイアログボックス1301を表示してもよい。ダイアログボックス1301において、携帯電話は、WeChatアプリケーションがカメラ許可を使用することを許可されている1つ又は複数の使用シナリオ、すなわち、カメラを使用するためのアプリケーション許可に対応する使用シナリオホワイトリストの中の使用シナリオをユーザに提示してもよい。ユーザがOKボタン1302をタップしているということを検出する場合に、そのことは、ユーザが、ダイアログボックス1301の中で示されている使用シナリオにおいて、WeChatアプリケーションがカメラを使用することを許可されているということを確認したが、現在のWeChatログインシナリオは、上記の使用シナリオの中には存在しないということを示す。したがって、携帯電話は、カメラを使用するためのアプリケーション許可をWeChatアプリケーションに許可することを拒否してもよい。携帯電話が、ユーザが許可管理ボタン1303をタップしているということを検出する場合に、図17(b)に示されているように、携帯電話は、カメラを使用するためにアプリケーション許可管理インターフェイス1304にジャンプしてもよい。管理インターフェイス1304において、ユーザは、アプリケーションがカメラを使用することを許可されている特定の使用シナリオを手動で追加してもよく、又は、アプリケーションがカメラを使用することを許可されている現在許可されている使用シナリオを無効化してもよい。このことは、この出願のこの実施態様においては限定されない。
図18に示されているように、この出願のある1つの実施形態は、タッチスクリーン1801を含む電子デバイスを開示している。タッチスクリーン1801は、接触感知表面1806、ディスプレイ1807、1つ又は複数のプロセッサ1802、メモリ1803、(図示されていない)1つ又は複数のアプリケーションプログラム、及び1つ又は複数のコンピュータプログラム1804を含む。上記の構成要素は、1つ又は複数の通信バス1805を介して接続されてもよい。1つ又は複数のコンピュータプログラム1804は、メモリ1803の中に格納され、1つ又は複数のプロセッサ1802によって実行されるように構成される。1つ又は複数のコンピュータプログラム1804は、命令を含み、それらの命令は、上記の複数の実施形態のステップを実行するのに使用されてもよい。
例えば、プロセッサ1802は、具体的には、図1に示されているプロセッサ110であってもよく、メモリ1803は、具体的には、図1に示されている内部メモリ121又は外部メモリ120であってもよく、ディスプレイ1807は、具体的には、図1に示されているディスプレイ194であってもよく、接触感知表面1806は、具体的には、図1に示されているセンサモジュール180におけるタッチセンサ180Kであってもよい。
複数の実装についての上記の説明は、便宜的且つ簡潔な説明のために、ある1つの例として、上記の複数の機能モジュールへの分割のみを使用しているということを当業者が明確に理解することを可能とする。実際の適用においては、要求に基づく実装のために、上記の複数の機能を複数の異なる機能モジュールに割り当てることが可能である。言い換えると、装置の内部構成を複数の異なる機能モジュールに分割して、上記で説明されている複数の機能のうちのすべて又は一部を実装する。上記のシステム、装置、及びユニットの詳細な動作プロセスについては、上記の方法の実施形態における対応するプロセスを参照するべきであり、本明細書においては、詳細は繰り返しては説明されない。
この出願の複数の実施形態における複数の機能ユニットを一体化して、1つの処理ユニットとしてもよく、又は、それらの複数のユニットの各々は、物理的に単独で存在してもよく、或いは、2つ又はそれ以上のユニットを一体化して、1つのユニットとしてもよい。一体化されたユニットは、ハードウェアの形態で実装されてもよく、又は、ソフトウェア機能ユニットの形態で実装されてもよい。
一体化されたユニットがソフトウェア機能ユニットの形態で実装され、独立した製品として販売され又は使用されるときに、その一体化されたユニットは、コンピュータ読み取り可能な記憶媒体の中に格納されてもよい。そのような理解に基づいて、この出願のそれらの複数の実施形態の技術的解決方法は、本質的に、或いは、先行技術に寄与する部分又は複数の技術的解決方法のうちのすべて又は一部は、ソフトウェア製品の形態で実装されてもよい。コンピュータソフトウェア製品は、記憶媒体の中に格納され、いくつかの命令を含み、それらの命令は、この出願のそれらの複数の実施形態において説明されている複数の方法の複数のステップのうちのすべて又は一部を実行するように(パーソナルコンピュータ、サーバ、又はネットワークデバイスであってもよい)コンピュータデバイス又はプロセッサに指示する。上記の記憶媒体は、プログラムコードを格納することが可能であるフラッシュメモリ、取り外し可能なハードディスク、読み取り専用メモリ、ランダムアクセスメモリ、磁気ディスク、又はコンパクトディスク等のいずれかの媒体を含む。
上記の説明は、この出願の複数の実施形態のうちの特定の実装であるにすぎないが、この出願の複数の実施形態の保護範囲を限定することを意図してはいない。この出願のそれらの複数の実施形態において開示されている技術的範囲の中でのいずれかの変更又は置換は、この出願のそれらの複数の実施形態の保護の範囲に属するものとする。したがって、この出願のそれらの複数の実施形態の保護の範囲は、請求項に記載された発明の保護の範囲にしたがうものとする。
この出願は、端末技術の分野に関し、特に、アプリケーション許可を管理する方法及び電子デバイスに関する。
現在、アプリケーションが、携帯電話にインストールされ又はその携帯電話において使用されるときに、ユーザは、使用することをアプリケーションが許可する1つ又は複数のアプリケーション許可をあらかじめ付与する必要がある。例えば、アプリケーション許可は、接点情報の読み取り、位置情報の取得、カレンダー情報の読み取り、記録機能の有効化、及びカメラの起動を含んでもよい。
例えば、ユーザが、ブラウザアプリケーションのインストールの際に、そのブラウザアプリケーションに、カメラを起動するためのアプリケーション許可を与える場合に、携帯電話は、カメラの起動が、ブラウザアプリケーションの登録された許可であるということを記録してもよい。その後、そのブラウザアプリケーションが携帯電話のカメラを開くことを要求しているということを検出する場合に、そのカメラの起動は、そのブラウザアプリケーションの登録された許可であるため、その携帯電話は、そのブラウザアプリケーションの要求に応答して、撮影のためにカメラを開いてもよい。一方で、アプリケーションが、アプリケーション許可を登録した後に、そのアプリケーション許可を濫用する場合に、携帯電話のリソースオーバーヘッドを増加させ、また、ユーザのプライバシー漏洩のリスクも増加する。
この出願は、アプリケーション許可を管理する方法及び電子デバイスを提供して、アプリケーションが複数の異なる使用シナリオにおいて複数の異なるアプリケーション許可を使用することを可能とする。このことは、ユーザのプライバシー漏洩のセキュリティリスクを減少させ、ユーザ体験を改善する。
上記の目的を達成するために、この出願においては以下の技術的解決方法を使用する。
第1の態様によれば、この出願は、アプリケーション許可を管理する方法であって、電子デバイスは、ホームスクリーンを表示し、前記ホームスクリーンは、第1のアプリケーションのアイコンを含み、ユーザが前記アイコンをタップする第1の操作に応答して、前記電子デバイスは、第1のインターフェイスを表示してもよく、前記第1のインターフェイスを表示するときに、前記電子デバイスは、前記第1のアプリケーションが第1のアプリケーション許可を使用するのを許可してもよく、前記第1のインターフェイスに対する前記ユーザの第2の操作に応答して、前記電子デバイスは、第2のインターフェイスを表示してもよく、前記第2のインターフェイスを表示するときに、前記電子デバイスは、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを拒否してもよい、方法を提供する。
言い換えると、第1のアプリケーションを実行するときに、電子デバイスは、アプリケーションにアプリケーション許可を与えた後に、そのアプリケーションがそのアプリケーション許可をランダムに使用するのを許可するのではなく、現在表示されているインターフェイスに基づいて、第1のアプリケーションがアプリケーション許可を使用するのを許可してもよく又は拒否してもよく、その結果、システムリソースの消費及びユーザのプライバシー漏洩のセキュリティリスクを減少させるとともに、ユーザの体験を改善することが可能である。
ある1つの可能な実装において、前記第1のインターフェイスが示す使用シナリオは、第1のシナリオであり、前記第2のインターフェイスが示す使用シナリオは、第2のシナリオである。前記電子デバイスが、前記第1のアプリケーションが第1のアプリケーション許可を使用するのを許可することは、前記第1のアプリケーション許可が前記第1のシナリオに対応するときに、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを許可することを含む。前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを拒否することは、前記第1のアプリケーション許可が前記第2のシナリオに対応していないときに、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを拒否することを含む。
言い換えると、アプリケーションが、電子デバイスにアプリケーション許可の使用を申請するときに、その電子デバイスは、現在の特定の使用シナリオに基づいて、そのアプリケーションにアプリケーション許可を付与するか否かを決定してもよい。アプリケーションが申請しそして使用するアプリケーション許可が、現在の使用シナリオに対応している場合には、現在の使用シナリオに沿ってアプリケーション許可を使用することは適切であるということを示す。この場合には、電子デバイスは、アプリケーションがアプリケーション許可を継続して使用することを許可して、ユーザがアプリケーションによって提供される様々な機能の通常の使用に影響を与えることを回避してもよい。
アプリケーションが申請しているアプリケーション許可が、現在の使用シナリオに対応していない場合には、現在の使用シナリオに沿ってアプリケーション許可を使用することは不適切であるということを示す。アプリケーションがアプリケーション許可の使用を継続して許可される場合には、アプリケーションがアプリケーション許可を使用するときに不必要なシステムリソースが消費され、そのアプリケーション許可の使用は、電力消費のオーバーヘッドを増加させる。加えて、アプリケーションが、現在の使用シナリオに対応していないアプリケーション許可の使用を許可された後に、アプリケーションは、さらに、そのアプリケーション許可を乱用して、ユーザのプライバシーを取得する場合があり、ユーザのプライバシー漏洩のリスクを増加させる。したがって、アプリケーションが今回申請しそして使用するアプリケーション許可が、現在の使用シナリオに対応していない場合に、システムリソースの消費及びユーザのプライバシー漏洩のセキュリティリスクを減少させるとともに、ユーザの体験を改善するために、電子デバイスは、アプリケーションが今回のアプリケーション許可を使用するのを許可することを拒否してもよい。
ある1つの可能な実装において、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを拒否するときに、当該方法は、前記電子デバイスが、前記第2のインターフェイスの中に第1の通知を表示することをさらに含み、前記第1の通知は、前記第1のアプリケーションによって前記第1のアプリケーション許可を使用するための要求が今回拒否されているということを前記ユーザに教えるのに使用される。
例えば、前記第1の通知は、前記第2のインターフェイスに対応する前記使用シナリオを含んでもよい。
ある1つの可能な実装において、前記電子デバイスが、前記第2のインターフェイスの中に第1の通知を表示した後に、当該方法は、前記電子デバイスが、前記ユーザが前記第1の通知を開いているということを検出する場合に、前記電子デバイスが、アプリケーション許可を管理するための設定インターフェイスを表示することをさらに含む。ユーザは、設定インターフェイスによってアプリケーション許可を手動で管理してもよい。
ある1つの可能な実装において、第2のインターフェイスを表示するときに、当該方法は、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可の使用を申請しているということを検出する場合に、前記電子デバイスが、前記第2のインターフェイスの中にダイアログボックスを表示してもよいことをさらに含み、前記ダイアログボックスは、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを許可しない第1のボタンを含み、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを拒否することは、前記電子デバイスが、前記ユーザが前記第1のボタンを選択しているということを検出する場合に、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを拒否することを含む。言い換えると、電子デバイスが、アプリケーションが第2のインターフェイスの中で第1のアプリケーション許可を使用するのを許可することにセキュリティ上のリスクが存在するということを検出するときに、電子デバイスは、アプリケーションが今回第1のアプリケーション許可を使用するのを許可すること又は拒否することを手動で選択するようにユーザに促してもよい。
ある1つの可能な実装において、前記ダイアログボックスは、プロンプト情報をさらに含んでもよい。前記プロンプト情報は、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを許可する際のセキュリティリスクを前記ユーザに教えるのに使用され、それによって、前記第1のアプリケーションが、今回、前記第1のアプリケーション許可を使用するのを許可された後に、前記ユーザは、セキュリティリスクを知る。
ある1つの可能な実装において、前記ダイアログボックスは、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを許可する第2のボタンをさらに含んでもよく、前記電子デバイスが、前記第2のインターフェイスの中にダイアログボックスを表示した後に、当該方法は、前記電子デバイスが、前記ユーザが前記第2のボタンを選択しているということを検出する場合に、前記第1のアプリケーションが今回前記第1のアプリケーション許可を使用するときに、前記電子デバイスが、前記第1のアプリケーションに偽のデータを提供することをさらに含む。言い換えると、ユーザは、第1のアプリケーションが第1のアプリケーション許可を使用するのを許可するが、第1のアプリケーションが最終的に取得するユーザデータは、本物のユーザデータではなく、それによって、第1のアプリケーションが、第1のアプリケーション許可を乱用して、ユーザのプライバシーを取得するのを防止する。
ある1つの可能な実装において、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを拒否することは、前記電子デバイスの中の許可サービスが、前記第1のアプリケーションに許可拒否応答を送信し、それによって、前記第1のアプリケーションは、前記第1のアプリケーション許可を使用することが不可能となることを含む。
代替的に、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを拒否することは、前記電子デバイスが、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するのを許可することと、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するときに、前記電子デバイスが、前記第1のアプリケーションに前記偽のデータを提供することと、を含む。このように、電子デバイスが、第1のアプリケーションが第1のアプリケーション許可を使用するのを許可した後に、第1のアプリケーションが正常に動作することが不可能である予期しない終了等の場合は、第1のアプリケーションが許可拒否応答を取得した後は、回避されてもよい。加えて、電子デバイスが、第1のアプリケーションに偽のデータを提供することにより、ユーザの本物のデータが第1のアプリケーションによって漏洩されるのを防ぐことが可能である。
例えば、前記第1のアプリケーションが前記第1のアプリケーション許可を使用するときに、前記電子デバイスが、前記第1のアプリケーションに前記偽のデータを提供した後に、当該方法は、前記電子デバイスが、前記第2のインターフェイスの中に第2の通知を表示することをさらに含み、前記第2の通知は、前記第1のアプリケーションが今回前記第1のアプリケーション許可を使用するときに取得するユーザデータが前記偽のデータであるということを前記ユーザに教えるのに使用される。
ある1つの可能な実装において、第2のインターフェイスが表示されるときに、電子デバイスは、第1のアプリケーションが第1のアプリケーション許可を使用するのを拒否するが、電子デバイスは、第1のアプリケーションが第2のアプリケーション許可を使用するのを許可してもよい(第2のアプリケーション許可は、第1のアプリケーション許可とは異なる)。言い換えると、同じインターフェイスに対応するシナリオにおいて、電子デバイスは、第1のアプリケーションが複数のアプリケーション許可を使用するのを承諾してもよく、電子デバイスは、第1のアプリケーションが他のアプリケーション許可を使用するのを拒否してもよい。
ある1つの可能な実装において、第1のアプリケーションがインストールされるときに、電子デバイスが、第1のアプリケーションが第1のアプリケーション許可を登録することを要求しているということを検出する場合に、電子デバイスは、第1のアプリケーション許可が第1のアプリケーションのタイプに対応しているか否かを決定してもよい。第1のアプリケーション許可が第1のアプリケーションのタイプに対応している場合に、電子デバイスは、第1のアプリケーションが第1のアプリケーション許可を登録するのを承諾する。言い換えると、アプリケーションが電子デバイスの中にアプリケーション許可を登録するときに、電子デバイスは、ユーザのために、そのアプリケーションのアプリケーションタイプに対応していない複数のアプリケーション許可を遮断して、そのアプリケーションが、その後に、それらの複数のアプリケーション許可を使用して、ユーザのプライバシーを取得するのに起因して引き起こされるプライバシー漏洩等のセキュリティ問題を回避してもよい。
例えば、前記第1のアプリケーション許可は、位置情報の取得の許可、アドレス帳の読み取り/修正の許可、カレンダーの読み取り/修正の許可、カメラの使用の許可、マイクロフォンの使用の許可、ブルートゥースの使用の許可、又は音声認識機能の使用の許可を含んでもよい。
第2の態様によれば、この出願は、接触感知表面及びディスプレイを含むタッチスクリーンと、1つ又は複数のプロセッサと、1つ又は複数のメモリと、1つ又は複数のコンピュータプログラムと、を含む電子デバイスを提供する。プロセッサは、メモリ及びタッチスクリーンの双方に結合される。1つ又は複数のコンピュータプログラムは、メモリの中に格納される。電子デバイスが起動すると、プロセッサは、メモリの中に格納されている1つ又は複数のコンピュータプログラムを実行し、それによって、電子デバイスは、第1の態様の複数の実装のうちのいずれか1つにしたがったアプリケーション許可を管理する方法を実行する。
第3の態様によれば、この出願は、コンピュータ命令を含むコンピュータ記憶媒体を提供する。コンピュータ命令が電子デバイスによって実行されるときに、電子デバイスが、第1の態様の複数の実装のうちのいずれか1つにしたがったアプリケーション許可を管理するための方法を実行することを可能とする。
第4の態様によれば、この出願は、コンピュータプログラム製品を提供する。コンピュータプログラム製品が電子デバイスによって実行されるときに、電子デバイスが、第1の態様の複数の実装のうちのいずれか1つにしたがったアプリケーション許可を管理する方法を実行することを可能とする。
上記で提供されている第2の態様の電子デバイス、第3の態様のコンピュータ記憶媒体、及び第4の態様のコンピュータプログラム製品は、すべてが、上記で提供されている対応する方法を実行するように構成されているということを理解することが可能である。したがって、電子デバイス、コンピュータ記憶媒体、及びコンピュータプログラム製品が達成することが可能である有益な効果については、上記で提供されている対応する方法における有益な効果を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
この出願のある1つの実施形態にしたがった電子デバイスの概略的な構成図1である。
この出願のある1つの実施形態にしたがった電子デバイスの中のオペレーティングシステムの概略的なアーキテクチャ図である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図1である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図1である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図2である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図2である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図2である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図3である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図4である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図4である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図4である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図5である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図5である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図5である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図6である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図7である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図7である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図8である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図9である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図10である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図11である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図11である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図12である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図13である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図14である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図14である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図15である。
この出願のある1つの実施形態にしたがったアプリケーション許可を管理する方法のある1つの適用シナリオの概略的な図15である。
この出願のある1つの実施形態にしたがった電子デバイスの概略的な構成図2である。
以下の記載は、複数の添付の図面を参照して、複数の実施形態の複数の実装を詳細に説明する。
この出願の複数の実施形態によって提供されるアプリケーション許可を管理する方法は、携帯電話、タブレットコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ウルトラモバイルパーソナルコンピュータ(ultra-mobile personal computer, UMPC)、ハンドヘルドコンピュータ、ネットブック、パーソナルディジタルアシスタント(personal digital assistant, PDA)、ウェアラブル電子デバイス、又はバーチャルリアリティデバイス等の電子デバイスに適用されてもよい。このことは、この出願のそれらの複数の実施態様においては限定されない。
例えば、図1は、電子デバイス100の概略的な構成図である。
電子デバイス100は、プロセッサ110、外部メモリインターフェイス120、内部メモリ121、ユニバーサルシリアルバス(universal serial bus, USB)インターフェイス130、充電管理モジュール140、電力管理モジュール141、バッテリ142、アンテナ1、アンテナ2、無線周波数モジュール150、通信モジュール160、オーディオモジュール170、スピーカ170A、受信機170B、マイクロフォン170C、ヘッドセットインターフェイス170D、センサモジュール180、キー190、モータ191、インジケータ192、カメラ193、ディスプレイ194、及び加入者識別モジュール(subscriber identification 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の神経センター及び指令センターであってもよい。コントローラは、命令フェッチ及び命令実行の制御を完了するために、命令動作コード及び時間シーケンス信号に基づいて動作制御信号を生成することができる。
メモリは、さらに、プロセッサ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)インターフェイス等を含んでもよい。
I2Cインターフェイスは、双方向同期シリアルバスであり、シリアルデータライン(serial data line, SDA)及びシリアルクロックライン(derail clock line, SCL)を含む。複数の実施形態のうちのいくつかにおいて、プロセッサ110は、I2Cバスの複数のグループを含んでもよい。プロセッサ110は、複数の異なるI2Cバスインターフェイスを通じて、タッチセンサ180K、充電器、フラッシュ、及びカメラ193等に個別に結合されてもよい。例えば、プロセッサ110は、I2Cインターフェイスを通じて、タッチセンサ180Kに結合されてもよく、それによって、プロセッサ110は、I2Cバスインターフェイスを通じて、タッチセンサ180Kと通信して、電子デバイス100のタッチ機能を実装してもよい。
I2Sインターフェイスは、音声通信を実行するように構成されてもよい。複数の実施形態のうちのいくつかにおいて、プロセッサ110は、I2Sバスの複数のグループを含んでもよい。プロセッサ110は、I2Sバスを通じて、オーディオモジュール170に結合されて、プロセッサ110とオーディオモジュール170との間の通信を実装してもよい。複数の実施形態のうちのいくつかにおいて、オーディオモジュール170は、I2Sインターフェイスを通じて通信モジュール160にオーディオ信号を伝送して、ブルートゥースヘッドセットを使用することによって呼に応答する機能を実装してもよい。
PCMインターフェイスは、また、音声通信のために使用されて、アナログ信号をサンプリングし、量子化し、そして、符号化してもよい。複数の実施形態のうちのいくつかにおいて、オーディオモジュール170は、PCMバスインターフェイスを通じて通信モジュール160に結合されてもよい。複数の実施形態のうちのいくつかにおいて、オーディオモジュール170は、また、PCMインターフェイスを通じて通信モジュール160にオーディオ信号を伝送して、ブルートゥースヘッドセットを使用することによって呼に応答する機能を実装してもよい。I2Sインターフェイス及びPCMインターフェイスの双方は、音声通信を実行するように構成されてもよい。
UARTインターフェイスは、ユニバーサルシリアルデータバスであり、非同期通信を実行するように構成される。バスは、双方向通信バスであってもよく、シリアル通信とパラレル通信との間で伝送されるべきデータを変換する。複数の実施形態のうちのいくつかにおいて、UARTインターフェイスは、通常は、プロセッサ110及び通信モジュール160を接続するように構成される。例えば、プロセッサ110は、UARTインターフェイスを通じて通信モジュール160の中のブルートゥースモジュールと通信して、ブルートゥース機能を実装する。複数の実施形態のうちのいくつかにおいて、オーディオモジュール170は、UARTインターフェイスを通じて通信モジュール160にオーディオ信号を伝送して、ブルートゥースヘッドセットを使用することによって音楽を再生する機能を実装してもよい。
MIPIインターフェイスは、ディスプレイ194及びカメラ193等の周辺デバイスにプロセッサ110を接続するように構成されてもよい。MIPIインターフェイスは、カメラシリアルインターフェイス(camera serial interface, CSI)及びディスプレイシリアルインターフェイス(display serial interface, DSI)等を含む。複数の実施形態のうちのいくつかにおいて、プロセッサ110は、CSIインターフェイスを通じてカメラ193と通信して、電子デバイス100の写真撮影機能を実装する。プロセッサ110は、DSIインターフェイスを通じてディスプレイ194と通信して、電子デバイス100の表示機能を実装する。
GPIOインターフェイスは、ソフトウェアによって構成されてもよい。GPIOインターフェイスは、制御信号又はデータ信号として構成されてもよい。複数の実施形態のうちのいくつかにおいて、GPIOインターフェイスは、プロセッサ110及びカメラ193、ディスプレイ194、通信モジュール160、オーディオモジュール170、又はセンサモジュール180等を接続するように構成されてもよい。GPIOインターフェイスは、代替的に、I2Cインターフェイス、I2Sインターフェイス、UARTインターフェイス、又はMIPIインターフェイス等として構成されてもよい。
USBポート130は、USB標準仕様に準拠しているインターフェイスであり、具体的には、ミニUSBポート、マイクロUSBポート、又はUSBタイプCインターフェイス等であってもよい。USBポート130は、充電器に接続して、電子デバイス100を充電するように構成されてもよく、電子デバイス100と周辺デバイスとの間でデータを伝送するように構成されてもよく、又は、ヘッドセットに接続して、そのヘッドセットを使用することによって音声を再生するように構成されてもよい。代替的に、インターフェイスは、例えば、ARデバイス等の他の電子デバイスに接続するように構成されてもよい。
この出願のこの実施形態の中で解説されている複数のモジュールの間のインターフェイス接続関係は、説明のためのある1つの例であるにすぎず、電子デバイス100の構造に対する限定を構成しないということを理解することが可能である。この出願のいくつかの他の実施形態においては、電子デバイス100は、代替的に、上記の実施形態の中のインターフェイス接続方式とは異なるインターフェイス接続方式を使用してもよく、又は、複数のインターフェイス接続方法の組み合わせを使用してもよい。
充電管理モジュール140は、充電器からの充電入力を受信するように構成される。充電器は、無線充電器であってもよく又は有線充電器であってもよい。有線充電の複数の実施形態のうちのいくつかにおいて、充電管理モジュール140は、USBポート130を通じて有線充電器からの充電入力を受信してもよい。無線充電の複数の実施形態のうちのいくつかにおいて、充電管理モジュール140は、電子デバイス100の無線充電コイルを使用することによって、無線充電入力を受信してもよい。充電管理モジュール140は、バッテリ142を充電する一方で、電力管理モジュール141を使用することによって電子デバイスに電力を供給する。
電力管理モジュール141は、プロセッサ110にバッテリ142及び充電管理モジュール140を接続するように構成される。電力管理モジュール141は、バッテリ142及び/又は充電管理モジュール140の入力を受信し、プロセッサ110、内部メモリ121、外部メモリ、ディスプレイ194、カメラ193、及び通信モジュール160等に電力を供給する。電力管理モジュール141は、さらに、バッテリ容量、バッテリサイクル、及び(漏電又はインピーダンス等の)バッテリ健全性状態等のパラメータをモニタリングするように構成されてもよい。いくつかの他の実施形態においては、電力管理モジュール141は、代替的に、プロセッサ110の中に配置されてもよい。いくつかの他の実施形態においては、電力管理モジュール141及び充電管理モジュール140は、代替的に、同じデバイスの中に配置されてもよい。
電子デバイス100の無線通信機能は、アンテナ1、アンテナ2、無線周波数モジュール150、通信モジュール160、モデムプロセッサ、及びベースバンドプロセッサ等によって実装されてもよい。
アンテナ1及びアンテナ2は、電磁波信号を送信し及び受信するように構成される。電子デバイス100の中の各々のアンテナは、1つ又は複数の通信周波数帯域をカバーするように構成されてもよい。さらに、複数の異なるアンテナを多重化して、アンテナの利用性を改善してもよい。例えば、アンテナ1は、無線ローカルエリアネットワークにおいてダイバーシティアンテナとして多重化されてもよい。いくつかの他の実施形態において、アンテナは、同調スイッチと組み合わせて使用されてもよい。
無線周波数モジュール150は、電子デバイス100に適用されるとともに、2G、3G、4G、及び5G等の無線通信技術を含む解決方法を提供することが可能である。無線周波数モジュール150は、少なくとも1つのフィルタ、スイッチ、電力増幅器、及び低雑音増幅器(low noise amplifier, LNA)等を含んでもよい。無線周波数モジュール150は、アンテナ1を使用することによって電磁波を受信し、受信した電磁波に対してフィルタリング又は増幅等の処理を実行し、そして、復調のためにモデムプロセッサに電磁波を転送してもよい。無線周波数モジュール150は、さらに、モデムプロセッサが変調する信号を増幅し、そして、アンテナ1を使用することによって、放射するために、その信号を電磁波に変換してもよい。複数の実施形態のうちのいくつかにおいて、無線周波数モジュール150の中の少なくともいくつかの機能モジュールは、プロセッサ110の中に配置されてもよい。複数の実施形態のうちのいくつかにおいて、無線周波数モジュール150の中の少なくともいくつかの機能モジュールは、プロセッサ110の中の少なくともいくつかのモジュールと同じデバイスの中に配置されてもよい。
モデムプロセッサは、変調器及び復調器を含んでもよい。変調器は、送信されるべき低周波数ベースバンド信号を中周波数信号又は高周波数信号へと変調するように構成される。復調器は、受信した電磁波信号を低周波数ベースバンド信号へと復調するように構成される。その次に、復調器は、復調によって得られる低周波数ベースバンド信号を処理のためにベースバンドプロセッサに送信する。低周波数ベースバンド信号は、ベースバンドプロセッサによって処理され、その次に、アプリケーションプロセッサに送信される。アプリケーションプロセッサは、(スピーカ170A及び受信機170B等には限定されない)オーディオデバイスを使用することによって音声信号を出力し、或いは、ディスプレイ194を使用することによって画像又はビデオを表示する。複数の実施形態のうちのいくつかにおいて、モデムプロセッサは、独立した構成要素であってもよい。いくつかの他の実施形態においては、モデムプロセッサは、プロセッサ110から独立していてもよく、無線周波数モジュール150又は別の機能モジュールと同じ構成要素の中に配置される。
通信モジュール160は、無線通信解決方法を提供してもよく、その無線通信解決方法は、(例えば、無線忠実度(wireless fidelity, Wi-Fi)ネットワーク等の)無線ローカルエリアネットワーク(wireless local area networks, WLAN)、ブルートゥース(bluetooth, BT)、全地球的航法衛星システム(global navigation satellite system, GNSS)、周波数変調(frequency modulation, FM)、近距離通信(near field communication, NFC)、又は赤外線(infrared, IR)技術等を含むとともに、電子デバイス100に適用される。通信モジュール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 systems, SBAS)を含んでもよい。
電子デバイス100は、GPU、ディスプレイ194、及びアプリケーションプロセッサ等を使用することによって、表示機能を実装する。GPUは、画像処理のためのマイクロプロセッサであり、アプリケーションプロセッサにディスプレイ194を接続する。GPUは、数学的及び幾何学的計算を実行し、そして、画像をレンダリングする、ように構成される。プロセッサ110は、1つ又は複数のGPUを含んでもよく、それらの1つ又は複数のGPUは、プログラム命令を実行して、表示情報を生成し又は変更する。
ディスプレイ194は、画像及びビデオ等を表示するように構成される。ディスプレイ194は、表示パネルを含む。表示パネルは、液晶ディスプレイ(liquid crystal display, LCD)、有機発光ダイオード(organic light-emitting diode, OLED)、アクティブマトリックス有機発光ダイオード(active-matrix organic light emitting diode, AMOLED)、フレキシブル発光ダイオード(flex light-emitting diode, FLED)、ミニLED、マイクロLED、マイクロOLED、又は、量子ドット発光ダイオード(quantum dot light emitting diodes, QLED)等であってもよい。複数の実施形態のうちのいくつかにおいて、電子デバイス100は、1つ又はN個のディスプレイ194を含んでもよく、Nは、1よりも大きな正の整数である。
電子デバイス100は、ISP、カメラ193、ビデオコーデック、GPU、ディスプレイ194、及びアプリケーションプロセッサ等を使用することによって、撮影機能を実装してもよい。
ISPは、カメラ193がフィードバックするデータを処理するように構成される。例えば、撮影の際に、シャッターを押すと、光が、レンズを通じてカメラの感光体に送られる。光信号は、電気信号に変換され、カメラの感光体は、処理のために、ISPに電気信号を送信して、その電気信号を可視的な画像に変換する。ISPは、さらに、画像の雑音、輝度、及び顔色に対して、アルゴリズム最適化を実行してもよい。ISPは、さらに、撮影シナリオの露光及び色温度等のパラメータを最適化してもよい。複数の実施形態のうちのいくつかにおいて、ISPは、カメラ193の中に配置されてもよい。
カメラ193は、静止画像又はビデオを取り込むように構成される。対象物の光学画像は、レンズを通じて生成され、感光体の上に投影される。感光体は、電荷結合素子(charge coupled device, CCD)又は相補型金属酸化物半導体(complementary metal-oxide-semiconductor, CMOS)フォトトランジスタであってよい。感光体は、光信号を電気信号へと変換し、その次に、ISPに電気信号を送信して、その電気信号をディジタル画像信号へと変換する。ISPは、処理のために、DSPにディジタル画像信号を出力する。DSPは、ディジタル画像信号をRGBフォーマット又はYUVフォーマット等の標準画像信号へと変換する。複数の実施形態のうちのいくつかにおいて、電子デバイス100は、1つ又はN個のカメラ193を含んでもよく、Nは、1よりも大きな正の整数である。
ディジタル信号プロセッサは、ディジタル信号を処理するように構成され、ディジタル画像信号のほかに、他のディジタル信号を処理してもよい。例えば、電子デバイス100が周波数を選択するときに、ディジタル信号プロセッサは、周波数エネルギーに対してフーリエ変換等を実行するように構成される。
ビデオコーデックは、ディジタルビデオを圧縮し又は解凍するように構成される。電子デバイス100は、1つ又は複数のタイプのビデオコーデックをサポートすることが可能である。このようにして、電子デバイス100は、例えば、動画エキスパートグループ(moving picture experts group, MPEG)1、MPEG2、MPEG3、及びMPEG4等の複数の符号化フォーマットによってビデオを再生し又は記録することが可能である。
NPUは、ニューラルネットワーク(neural-network, NN)コンピューティングプロセッサであり、例えば、人間の脳の複数のニューロンの間の伝達モードを参照することによってといったように、生物学的ニューラルネットワークの構造を参照することによって、入力情報を迅速に処理し、そして、さらに、自己学習を継続的に実行することが可能である。NPUは、例えば、画像認識、顔認識、音声認識、及びテキスト理解等の電子デバイス100のインテリジェント認知等のアプリケーションを実装することが可能である。
外部メモリインターフェイス120は、例えば、マイクロSDカード等の外部記憶カードに接続して、電子デバイス100の記憶能力を拡張するように構成されてもよい。外部記憶カードは、外部メモリインターフェイス120を通じてプロセッサ110と通信して、データ記憶機能を実装する。例えば、音楽及びビデオ等のファイルは、外部記憶カードの中に格納される。
内部メモリ121は、コンピュータ実行可能なプログラムコードを格納するように構成されてもよい。実行可能なプログラムコードは、命令を含む。プロセッサ110は、内部メモリ121の中に格納されている命令を実行して、電子デバイス100の様々な機能アプリケーションを実行し、そして、データを処理する。内部メモリ121は、プログラム格納領域及びデータ格納領域を含んでもよい。プログラム格納領域は、(例えば、音声再生機能又は画像再生機能等の)少なくとも1つの機能が必要とするアプリケーション及びオペレーティングシステム等を格納してもよい。データ格納領域は、電子デバイス100を使用する過程で生成される(例えば、音声データ及び電話帳等の)データ等を格納してもよい。加えて、内部メモリ121は、高速ランダムアクセスメモリを含んでもよく、例えば、少なくとも1つの磁気ディスク記憶デバイス、フラッシュメモリデバイス、又はユニバーサルフラッシュ記憶装置(universal flash storage, UFS)等の不揮発性メモリをさらに含んでもよい。
電子デバイス100は、オーディオモジュール170、スピーカ170A、受信機170B、マイクロフォン170C、ヘッドセットインターフェイス170D、及びアプリケーションプロセッサ等を使用することによって、例えば、音楽の再生及び録音等のオーディオ機能を実装してもよい。
オーディオモジュール170は、ディジタルオーディオ情報を出力用のアナログオーディオ信号へと変換するように構成され、また、アナログオーディオ入力をディジタルオーディオ信号へと変換するように構成される。オーディオモジュール170は、さらに、オーディオ信号を符号化し及び復号化するように構成されてもよい。複数の実施形態のうちのいくつかにおいて、オーディオモジュール170は、プロセッサ110の中に配置されてもよく、又は、オーディオモジュール170のいくつかの機能モジュールは、プロセッサ110の中に配置されてもよい。
スピーカ170Aは、また、"ホーン"と称され、オーディオ電気信号を音声信号へと変換するように構成される。電子デバイス100は、スピーカ170Aを使用することによって、音楽を聞き、又は、ハンズフリー呼に応答するように構成されてもよい。
受信機170Bは、また、"イヤピース"と称され、オーディオ電気信号を音声信号へと変換するように構成される。電子デバイス100が、呼に応答するか又は音声情報を聞くように構成されるときに、受信機170Bは、音声を聞くために人間の耳の近くに配置される。
また、"マイク"又は"マイクロフォン"と称されるマイクロフォン170Cは、音声信号を電気信号へと変換するように構成される。発呼するとき又は音声情報を送信するときには、マイクロフォン170Cの近くへと人間の口を移動させることによって音声を発して、マイク170Cに音声信号を入力してもよい。電子デバイス100の中に少なくとも1つのマイクロフォン170Cを配置してもよい。いくつかの他の実施形態においては、電子デバイス100の中に2つのマイクロフォン170Cを配置して、音声信号を収集することに加えて、ノイズ低減機能を実装してもよい。いくつかの他の実施形態においては、代替的に、電子デバイス100の中に3つ、4つ、又はそれ以上のマイクロフォン170Cを配置して、音声信号を収集するとともに、ノイズを低減してもよい。マイクロフォンは、さらに、音源を識別するとともに、指向性記録機能を実装する等をしてもよい。
ヘッドセットインターフェイス170Dは、有線ヘッドセットに接続するように構成される。ヘッドセットインターフェイス170Dは、USBポート130であってもよく、又は3.5[mm]のオープンモバイル端末プラットフォーム(open mobile terminal platform, OMTP)標準インターフェイス、又は米国のセルラー通信産業協会(cellular telecommunications industry association of the USA, CTIA)標準インターフェイスであってもよい。
圧力センサ180Aは、圧力信号を検知するように構成され、圧力信号を電気信号へと変換することが可能である。複数の実施形態のうちのいくつかにおいて、圧力センサ180Aは、ディスプレイ194に配置されていてもよい。例えば、抵抗型の圧力センサ、誘導性の圧力センサ、容量性の圧力センサ等の複数のタイプの圧力センサ180Aが存在する。容量性圧力センサは、導電性材料によって形成されている少なくとも2つの平行プレートを含んでいてもよい。圧力センサ180Aに力を加えるときに、複数の電極の間の静電容量が変化する。電子デバイス100は、静電容量の変化に基づいて圧力強度を決定する。ディスプレイ194においてタッチ操作が実行されるときに、電子デバイス100は、圧力センサ180Aを使用することによって、タッチ操作強度を検出する。電子デバイス100は、また、圧力センサ180Aの検出信号に基づいて、タッチ位置を算出してもよい。複数の実施形態のうちのいくつかにおいて、同じタッチ位置において実行されているが、複数の異なるタッチ操作強度を有するタッチ操作は、複数の異なる操作命令に対応している場合がある。例えば、SMSアプリケーションのアイコンに対して、タッチ操作強度が第1の圧力しきい値よりも小さいタッチ操作を実行するときに、SMSメッセージの閲覧のための指示が実行される。SMSアプリケーションのアイコンに対して、タッチ操作強度が第1の圧力しきい値以上のタッチ操作を実行するときに、SMSメッセージの作成のための指示が実行される。
ジャイロスコープセンサ180Bは、電子デバイス100の運動姿勢を決定するように構成されてもよい。複数の実施形態のうちのいくつかにおいて、3つの軸(すなわち、軸x、y、及びz)を中心とする電子デバイス100の角速度は、ジャイロスコープセンサ180Bを使用することによって決定されてもよい。ジャイロスコープセンサ180Bは、撮影の際に手ぶれ補正を実行するように構成されてもよい。例えば、シャッタが押されるときに、ジャイロスコープセンサ180Bは、電子デバイス100が振動する角度を検出し、そして、レンズモジュールが補償する必要がある距離をその角度に基づいて計算し、それによって、レンズは、反転動作によって電子デバイス100の振動を相殺して、手ぶれ補償を実行する。ジャイロスコープセンサ180Bは、さらに、ナビゲーション及びモーションセンシングゲームのシナリオにおいて使用されてもよい。
気圧センサ180Cは、気圧を測定するように構成される。複数の実施形態のうちのいくつかにおいて、電子デバイス100は、気圧センサ180Cが測定する気圧値を使用することによって高度を計算して、測位及びナビゲーションを支援する。
磁気センサ180Dは、ホールセンサを含む。電子デバイス100は、磁気センサ180Dを使用することによって、フリップレザーケースの開閉を検出することが可能である。複数の実施形態のうちのいくつかにおいて、電子デバイス100がクラムシェル電話であるときに、電子デバイス100は、磁気センサ180Dを使用することによって、フリップカバーの開閉を検出することが可能である。さらに、皮革ケースの検知される開閉状態又はフリップカバーの検知される開閉状態に基づいて、フリップカバーの自動ロック解除等の機能を設定する。
加速度センサ180Eは、電子デバイス100の(通常は、3軸である)さまざまな方向の加速度値を検出することが可能であり、電子デバイス100が静止しているときには重力値及び重力方向を検出することが可能である。加速度センサ180Eは、さらに、電子デバイスの姿勢を識別するように構成されてもよく、横モードと縦モードとの間の切り替え又は歩数計等のアプリケーションに適用される。
距離センサ180Fは、距離を測定するように構成される。電子デバイス100は、赤外線方式又はレーザ方式によって距離を測定してもよい。複数の実施形態のうちのいくつかにおいて、写真撮影のシナリオにおいて、電子デバイス100は、距離センサ180Fを使用することによって距離を測定して、迅速な焦点合わせを実現してもよい。
光学的近接センサ180Gは、例えば、フォトダイオード等の光学検出器及び発光ダイオード(LED)を含んでいてもよい。発光ダイオードは、赤外線発光ダイオードであってもよい。電子デバイス100は、発光ダイオードを使用することによって、赤外線を発光する。電子デバイス100は、フォトダイオードを使用することによって、近傍の対象物からの赤外線反射光を検出する。十分な反射光が検出されるときに、その電子デバイス100の近くにある対象物が存在するということを決定することが可能である。十分ではない反射光が検出されるときに、電子デバイス100は、その電子デバイス100の近くには対象物が存在しないということを決定することが可能である。電子デバイス100は、光近接センサ180Gを使用することによって、ユーザが通話のために耳の近くにその電子デバイス100を保持しているということを検出して、省電力のためのスクリーンを自動的にオフにすることが可能である。光近接センサ180Gは、また、皮革ケースモード又はポケットモードで使用されて、スクリーンを自動的にロック解除又はロックすることが可能である。
周囲光センサ180Lは、周囲光の輝度を検知するように構成される。電子デバイス100は、検知された周囲光の輝度に基づいて、ディスプレイ194の輝度を適応的に調整することが可能である。周囲光センサ180Lは、また、撮影の際にホワイトバランスを自動的に調整するように構成されてもよい。周囲光センサ180Lは、また、光近接センサ180Gと協働して、電子デバイス100がポケットに入っているか否かを検出するとともに、偶発的な接触を回避してもよい。
指紋センサ180Hは、指紋を収集するように構成される。電子デバイス100は、収集された指紋の特徴を使用して、指紋ベースのロック解除、アプリケーションロックアクセス、指紋ベースの写真撮影、及び指紋ベースの呼応答等を実装することが可能である。
温度センサ180Jは、温度を検出するように構成される。複数の実施形態のうちのいくつかにおいて、電子デバイス100は、温度センサ180Jが検出する温度に基づいて、温度処理ポリシーを実行する。例えば、温度センサ180Jが報告する温度がしきい値を超えるときに、電子デバイス100は、温度センサ180Jの近傍のプロセッサのパフォーマンスを低下させて、電力消費を減少させ、そして、熱保護を実装する。いくつかの他の実施形態においては、温度が他のしきい値より低いときに、電子デバイス100は、バッテリ142を加熱して、低温に起因する電子デバイス100の異常なシャットダウンを回避する。いくつかの他の実施形態においては、温度がさらに別のしきい値よりも低いときに、電子デバイス100は、バッテリ142の出力電圧を上昇させて、低温に起因する異常なシャットダウンを回避する。
タッチセンサ180Kは、また、"タッチパネル"と称される。タッチセンサ180Kは、ディスプレイ194に配置されてもよく、タッチセンサ180K及びディスプレイ194は、また、"タッチスクリーン"と称されるタッチ画面を形成する。タッチセンサ180Kは、タッチセンサ180Kにおいて又はタッチセンサ180Kの近傍で実行されるタッチ操作を検出するように構成される。タッチセンサは、アプリケーションプロセッサに検出されたタッチ操作を転送して、タッチイベントのタイプを決定することが可能である。タッチ操作に関連する視覚出力は、ディスプレイ194を使用することによって提供されてもよい。いくつかの他の実施形態においては、タッチセンサ180Kは、また、ディスプレイ194の位置とは異なる位置にある電子デバイス100の表面に配置されてもよい。
骨伝導センサ180Mによって、振動信号を取得することが可能である。複数の実施形態のうちのいくつかにおいて、骨伝導センサ180Mによって、人間の声部の振動骨の振動信号を取得することが可能である。骨伝導センサ180Mは、また、人間の脈と接触し、そして、血圧拍動信号を受信することが可能である。複数の実施形態のうちのいくつかにおいて、骨伝導センサ180Mは、代替的に、ヘッドセットの中に配置されて、骨伝導ヘッドセットを形成してもよい。音声モジュール170は、骨伝導センサ180Mが取得する声部の振動骨の振動信号に基づいて、解析によって音声信号を取得して、音声機能を実装ことが可能である。アプリケーションプロセッサは、骨伝導センサ180Mが取得する血圧拍動信号に基づいて、心拍数情報を解析して、心拍数検出機能を実装してもよい。
キー190は、電源ボタン及びボリュームボタン等を含む。キー190は、機械的なキーであってもよく、又はタッチキーであってもよい。電子デバイス100は、キー入力を受信し、そして、電子デバイス100のユーザ設定及び機能制御に関連するキー信号入力を生成することが可能である。
モータ191は、振動プロンプトを生成することが可能である。モータ191は、着信呼振動プロンプト及びタッチ振動フィードバックを生成するように構成されてもよい。例えば、(例えば、写真撮影及びオーディオ再生等の)複数の異なるアプリケーションに対して実行されるタッチ操作は、複数の異なる振動フィードバック効果に対応してもよい。モータ191は、また、ディスプレイ194の複数の異なる領域に対して実行されるタッチ操作に対する複数の異なる振動フィードバック効果に対応してもよい。(例えば、時間リマインダ、情報受信、目覚まし時計、及びゲーム等の)複数の異なる使用シナリオは、また、複数の異なる振動フィードバック効果に対応してもよい。タッチ振動フィードバック効果は、さらにカスタマイズされてもよい。
インジケータ192は、インジケータライトであってもよく、充電状態及び電力変化を示すように構成されてもよく、又は、メッセージ、不在着信、及び通知等を示すように構成されてもよい。
SIMカードインターフェイス195は、SIMカードに接続するように構成される。SIMカードは、SIMカードインターフェイス195に挿入され又はSIMカードインターフェイス195から取り外されて、電子デバイス100との接触を実装するか又は電子デバイス100からの分離を実装してもよい。電子デバイス100は、1つ又はN個のSIMカードインターフェイスをサポートしてもよく、Nは、1よりも大きい正の整数である。SIMカードインターフェイス195は、ナノSIMカード、マイクロSIMカード、及びSIMカード等をサポートしてもよい。複数のカードは、同じSIMカードインターフェイス195に同時に挿入されてもよい。複数のカードは、同じタイプのカードであってもよく、又は、異なるタイプのカードであってもよい。SIMカードインターフェイス195は、また、複数の異なるタイプのSIMカードと互換性があってもよい。SIMカードインターフェイス195は、また、外部記憶カードと互換性があってもよい。電子デバイス100は、SIMカードによってネットワークと対話して、発呼及びデータ通信等の機能を実装する。複数の実施形態のうちのいくつかにおいて、電子デバイス100は、eSIM、すなわち、埋め込み型SIMカードを使用する。eSIMカードは、電子デバイス100の中に埋め込まれていてもよく、電子デバイス100から分離することはできない。
電子デバイス100のソフトウェアシステムは、層状アーキテクチャ、イベント駆動アーキテクチャ、マイクロカーネルアーキテクチャ、マイクロサービスアーキテクチャ、又はクラウドアーキテクチャを使用してもよい。この出願のある1つの実施形態においては、電子デバイス100のソフトウェア構造を記述するためのある1つの例として、層状アーキテクチャを有するアンドロイドシステムを使用する。
図2は、この出願のある1つの実施形態にしたがった電子デバイス100のソフトウェア構成のブロック図である。
階層化アーキテクチャにおいては、ソフトウェアは複数の階層に分割され、各階層は明確な役割とタスクを有する。これらの層は、ソフトウェアインターフェイスを通じて互いに通信する。複数の実施形態のうちのいくつかにおいて、アンドロイドシステムは、アプリケーション層、アプリケーションフレームワーク層、アンドロイドランタイム(Android runtime)及びシステムライブラリ、及びカーネル層の4つの層に分割される。
アプリケーション層は、一連のアプリケーションパッケージを含んでいてもよい。
図2に示されているように、アプリケーションパッケージは、"カメラ"、"ギャラリー"、"カレンダー"、"電話"、"地図"、"ナビゲーション"、"ブルートゥース"、"音楽"、"ビデオ"、及び"メッセージ"等のアプリケーションを含んでいてもよい。
アプリケーションフレームワーク層は、アプリケーション層におけるアプリケーションにアプリケーションプログラミングインターフェイス(application programming interface, API)及びプログラミングフレームワークを提供する。アプリケーションフレームワーク層は、あらかじめ定義されている機能のうちのいくつかを含む。
図2に示されているように、アプリケーションフレームワーク層は、許可(permission)サービスを含んでいてもよい。許可サービスは、例えば、カレンダー内容の読み取り許可(READ_CALENDAR)、カメラの使用の許可(CAMERA)、位置情報の取得の許可(LOCATION)、連絡先の読み取り許可(READ_CONTACTS)、呼記録の読み取り許可(READ_CALL_LOG)等の各々のアプリケーションのアプリケーション許可を管理するのに使用されてもよい。
例えば、許可サービスは、アプリケーション層において、各々のアプリケーションのための1つ又は複数のアプリケーション許可をあらかじめ登録してもよい。ある1つの例としてWeChatアプリケーションを使用する。WeChatアプリケーションのインストールパッケージは、通常は、WeChatアプリケーションの実行に必要な1つ又は複数のアプリケーション許可を記録する。WeChatアプリケーションがアプリケーション層にインストールされているときに、WeChatアプリケーションは、許可サービスに1つ又は複数のアプリケーション許可を登録してもよい。この場合には、図3(a)に示されているように、許可サービスは、ユーザに対して、WeChatアプリケーションが登録するべき1つ又は複数のアプリケーション許可を表示し、そして、WeChatアプリケーションに対してアプリケーション許可を付与するか否かをユーザに尋ねることが可能である。ユーザがOKボタン301をタップしているということを検出するときに、許可サービスは、WeChatアプリケーションの許可アクセスログを生成し、許可アクセスログの中に、ユーザが確認する1つ又は複数のアプリケーション許可を記録し、そして、アプリケーション許可登録手順を完了することが可能である。その後、WeChatアプリケーションの実行プロセスにおいて、各々のアプリケーションの許可を使用するときに、WeChatアプリケーションは、許可サービスを呼び出して、そのアプリケーション許可がWeChatアプリケーションの許可アクセスログの中に記録されているか否かを問い合わせてもよい。アプリケーション許可が許可アクセスログの中に記録されている場合には、今回使用されているアプリケーション許可が付与されているということを示し、許可サービスは、WebChatアプリケーションに対して、対応する機能を実装するために引き続きアプリケーション許可を使用するのを許可してもよい。
代替的に、さらに、ある1つの例として、WeChatアプリケーションを使用する。WeChatアプリケーションをインストールするときに、1つ又は複数のアプリケーション許可が一時的に許可サービスに登録されない場合がある。WeChatアプリケーションが実行されるときに、例えば、図3(b)に示されているように、ユーザが初めてWeChatアプリケーションのコードスキャン機能を使用する場合には、WeChatアプリケーションは、カメラを使用するためのアプリケーション許可を許可サービスに申請する必要がある。この場合に、さらに、図3(b)に示されているように、許可サービスは、ダイアログウインドウ302を使用することによって、WeChatアプリケーションに、カメラを使用するためのアプリケーション許可を与えるか否かをユーザに尋ねてもよい。ユーザがOKボタン303をタップしているということを検出する場合に、許可サービスは、WeChatアプリケーションの許可アクセスログに、カメラを使用する許可を追加してもよい。このようにして、許可サービスは、WeChatアプリケーションの実行プロセスにおけるWeChatアプリケーションに対して、ユーザが付与する1つ又は複数のアプリケーション許可を徐々に登録してもよい。その後、WeChatアプリケーションが、再度カメラを使用することを許可サービスに申請するときに、許可サービスは、WeChatアプリケーションの許可アクセスログに基づいて、WeChatアプリケーションがカメラを使用するのを許可してもよい。
この出願のこの実施形態においては、各々のアプリケーションが、許可サービスの中に対応するアプリケーション許可を登録した後に、許可サービスは、さらに、現在の特定の使用シナリオを参照して、アプリケーションがアプリケーション許可を使用することを許可するか否かを決定してもよい、すなわち、現在の特定の使用シナリオを参照して、アプリケーションが今回アプリケーション許可を使用することを許可するか否かを決定してもよい。例えば、WeChatアプリケーションは、カメラを使用するためのアプリケーション許可を許可サービスにあらかじめ登録する。WeChatアプリケーションがカメラの使用を許可サービスに要求するときに、現在の表示インターフェイスが"ビデオコール"及び"ハングアップ"等のキーワードを含むことを検出する場合には、現在のWeChatアプリケーションがビデオ呼シナリオの最中である可能性があるということを示す。一方で、ビデオ呼シナリオにおいては、カメラが開かれていない場合には、WeChatアプリケーションは、ビデオ呼機能を完了することは不可能である。したがって、許可サービスは、カメラを使用するためのアプリケーション許可を使用することをWeChatアプリケーションに付与する(すなわち、WeChatアプリケーションがカメラを使用するためのアプリケーション許可を使用することを許可する)ことが可能である。それに対応して、WeChatアプリケーションがカメラを使用することを許可サービスに要求するときに、現在の表示インターフェイスがログイン又はパスワード等の制御を含むということを検出する場合には、現在のWeChatアプリケーションがログインシナリオの最中である可能性があるということを示す。これに対して、カメラが開いているか否かは、通常、WeChatアプリケーションのログインに成功することが可能であるか否かには影響を与えない。したがって、許可サービスは、WebChatアプリケーションがカメラを使用するアプリケーション許可を使用することを拒否する場合がある。
言い換えると、アプリケーションがアプリケーション許可を使用することを許可サービスに申請するときに、許可サービスは、現在の特定の使用シナリオを参照して、アプリケーションにアプリケーション許可を付与するか否かを決定してもよい。アプリケーションが申請しそして使用するアプリケーション許可が、現在の使用シナリオに対応する場合には、現在の使用シナリオに沿ってアプリケーション許可を使用することが適切であるということを示す。この場合には、許可サービスは、アプリケーションがアプリケーション許可を継続して使用することを許可して、アプリケーションが提供するさまざまな機能のユーザによる通常の使用に影響を与えないようにしてもよい。
アプリケーションが申請するアプリケーション許可が現在の使用シナリオに対応していないときは、現在の使用シナリオに沿ってアプリケーション許可を使用することが不適切であるということを示す。アプリケーションがアプリケーション許可の使用を継続して許可される場合に、アプリケーションがアプリケーション許可を使用するときに不必要なシステムリソースを消費し、電力消費のオーバーヘッドを増加させる。加えて、アプリケーションが、現在の利用シナリオに対応しないアプリケーション許可の使用を許可された後に、そのアプリケーションは、さらに、アプリケーション許可を乱用して、ユーザのプライバシーを取得する場合があり、ユーザプライバシーの漏洩のリスクを増加させる。したがって、アプリケーションが今回申請しそして使用するアプリケーション許可が、現在の利用シナリオにい対応していない場合には、アプリケーションが今回アプリケーション許可を使用することを許可することを拒否して、システムリソースの消費及びユーザプライバシーの漏洩によるセキュリティ上のリスクを減少させるとともに、ユーザの体験を改善する場合がある。
もちろん、アプリケーションフレームワーク層は、描画サービス、ウインドウマネージャ、コンテンツプロバイダ、電話マネージャ、リソースマネージャ、及び通知マネージャ等をさらに含んでいてもよい。
ウィンドゥマネージャは、ウィンドゥプログラムを管理するように構成される。ウィンドゥマネージャは、ディスプレイのサイズを取得し、ステータスバーが存在するか否かを決定し、スクリーンロックを実行し、スクリーンショットを取る等をする。コンテンツプロバイダは、データを格納して取得し、アプリケーションがデータにアクセスすることを可能とするように構成される。データは、作成されて受信されるビデオ、画像、オーディオ、電話、閲覧履歴及びブックマーク、電話帳等を含んでいてもよい。電話マネージャは、例えば、(応答、拒否等を含む)通話状態の管理等の電子デバイス100の通信機能を提供するように構成される。リソースマネージャは、局所化されているストリング、アイコン、イメージ、レイアウトファイル、及びビデオファイル等のさまざまなリソースをアプリケーションに提供する。通知マネージャは、アプリケーションが通知情報をステータスバーに表示することを可能とし、通知メッセージを伝達するように構成されてもよい。通知マネージャは、ユーザの対話を必要とすることなく、短い一時停止の後に自動的に消滅してもよい。例えば、通知マネージャは、ダウンロード完了通知及びメッセージ通知等を行うように構成されている。通知マネージャは、代替的に、例えば、バックグラウンドで実行されるアプリケーションプログラムの通知又はダイアログウィンドゥの形態で画面に現れる通知等のグラフ又はスクロールバーテキストの形態でシステムの最上位ステータスバーに現れる通知であってもよい。例えば、テキスト情報がステータスバーにプロンプト表示されたり、警告音が鳴ったり、電子デバイスが振動したり、又は、インジケータライトが点滅したりする。
アンドロイドランタイムは、カーネルライブラリ及び仮想マシンを含む。アンドロイドランタイムは、アンドロイドシステムのスケジューリング及び管理の役割を担う。
カーネルライブラリは、Java言語で呼び出す必要のある機能的な機能及びアンドロイドのカーネルライブラリの2つの部分を含む。
アプリケーション層及びアプリケーションフレームワーク層は、仮想マシンにおいて動作する。仮想マシンは、バイナリファイルとしてアプリケーション層及びアプリケーションフレームワーク層のJavaファイルを実行する。仮想マシンは、オブジェクトライフサイクル管理、スタック管理、スレッド管理、セキュリティと例外管理、及びガーベジコレクション等の機能を実行するように構成される。
システムライブラリは、複数の機能モジュール、例えば、サーフェスマネージャ(surface manager)、メディアライブラリ(Media Libraries)、(例えば、OpenGL ES等の)3次元グラフィックス処理ライブラリ、及び(例えば、SGL等の)2Dグラフィックスエンジンを含んでいてもよい。
サーフェスマネージャは、ディスプレイサブシステムを管理し、複数のアプリケーションのために2D及び3D画像層の融合を提供するように構成される。
メディアライブラリは、複数の一般的に使用されるオーディオ及びビデオフォーマット、静止画像ファイル等の再生及び記録をサポートする。メディアライブラリは、MPEG4、H.264、MP3、AAC、AMR、JPG、及びPNG等の複数のオーディオ及びビデオ符号化フォーマットをサポートしてもよい。
3次元グラフィックス処理ライブラリは、3次元グラフィックス描画、画像描画、合成、及び層処理等を実装するように構成される。
2Dグラフィックスエンジンは、2D描画用の描画エンジンである。
カーネル層は、ハードウェアとソフトウェアとの間の層である。カーネル層は、少なくともディスプレイドライバ、カメラドライバ、オーディオドライバ、センサドライバ等を含む。このことは、この出願のこの実施態様においては限定されない。
以下の記載は、電子デバイスが携帯電話であるある1つの例を使用することによって、複数の添付の図面を参照して、この出願の複数の実施形態よって提供されるアプリケーション許可を管理する方法を詳細に説明する。
例えば、ユーザは、携帯電話に対して気象APPをインストールする。図4(a)に示されているように、開発者は、気象APPのインストールパッケージにおいて、気象APPが登録する必要がある複数のアプリケーション許可を予め記録する。例えば、気象APPが登録する必要があるアプリケーション許可は、位置情報を取得する許可1、マイクを使用する許可2、カレンダーを読み取る許可3、及びカメラを使用する許可4を含む。気象APPがインストールされるときに、気象APPは、気象APPのための許可1乃至許可4を登録することを許可サービスに要求してもよい。この場合には、許可サービスは、気象APPのアプリケーションタイプに基づいて、気象APPが登録を要求するアプリケーション許可が、気象APPのアプリケーションタイプに対応しないアプリケーション許可を含んでいるか否かを識別してもよい。
例えば、表1に示されているように、さまざまなタイプのアプリケーションに対応するアプリケーション許可のセットをあらかじめ携帯電話の中に格納してもよい。ある1つの例として表1の社会的アプリケーションを使用すると、社会的アプリケーションに対応するアプリケーション許可は、通常は、社会的アプリケーションがユーザにさまざまな機能を提供するときに使用することが必要となるアプリケーション許可であり、それらのアプリケーション許可を使用するときは、社会的アプリケーションは、通常は、悪意を持って/
追加的にユーザプライバシーを取得しない。この場合には、気象APPが許可1乃至許可4を登録することを要求するときに、携帯電話は、許可1乃至許可4のすべてが気象タイプに対応するアプリケーション許可のセットに属しているか否かを問い合わせてもよい。もちろん、携帯電話は、サーバに対して、許可1乃至許可4が不適切なアプリケーション許可を含んでいるか否かを問い合わせてもよい。このことは、この出願のこの実施態様においては限定されない。
例えば、許可1乃至許可3のすべてが気象タイプに対応するアプリケーション許可のセットに属しているが、許可4が気象タイプに対応するアプリケーション許可のセットに属していない場合に、気象APPの実行時に許可4を使用する必要はないということを示す。この場合には、許可サービスは、気象APPのために許可4の登録を自動的に拒否してもよい。例えば、図4(b)に示されているように、携帯電話は、ダイアログボックス401において、気象APP許可1乃至許可3を付与するようにユーザに促してもよく、既に、携帯電話は、デフォルトで許可4の登録を拒否する。したがって、携帯電話は、ダイアログボックス401において、許可4を付与するようにユーザに促す必要はない。続いて、携帯電話は、ユーザがダイアログボックス401においてOKボタン402をタップしているということを検出する場合に、気象APPの許可アクセスログにおいて、気象APPが許可1乃至許可3を使用することを許可してもよい。このように、アプリケーションが携帯電話の中にアプリケーション許可を登録するときに、携帯電話は、ユーザにとって相対的に高いセキュリティリスクを有するアプリケーション許可を自動的に遮断して、アプリケーションがその後に相対的に高いセキュリティリスクを有するアプリケーション許可を使用することによって、ユーザのプライバシーを取得することを防止するとともに、プライバシー漏洩等のセキュリティの問題を回避することが可能である。
代替的に、図4(c)に示されているように、携帯電話が、気象APPが登録を要求する許可4が不適切なアプリケーション許可であるということを識別するときは、携帯電話は、さらに、ダイアログボックス403の中に許可4を表示してもよい。一方で、携帯電話は、ダイアログボックス403の中で、許可4を付与するセキュリティリスクが比較的高いということをユーザに教え、気象APPに対して許可4を付与しないことをユーザに推奨する。この場合、ユーザは、ダイアログボックス403の中のプロンプトに基づいて、気象APPに許可4を付与するか否かを手動で選択してもよい。このことは、この出願のこの実施態様においては限定されない。
代替的に、新たなアプリケーションが携帯電話にインストールされ又は実行されるときに、携帯電話は、表1に示されている対応関係に基づいて、自動的に、許可サービスの中に、そのアプリケーションに対する1つ又は複数の対応するアプリケーション許可を登録してもよい。このように、新しいアプリケーションを使用するときに、ユーザは、アプリケーションにアプリケーション許可を付与するプロセスを知覚しない。加えて、そのアプリケーションに付与されるアプリケーション許可は、携帯電話が決定するとともに、アプリケーションタイプと一致する比較的適正なアプリケーションのアクセス許可であることが多いため、不正なアプリケーション許可を悪用してユーザのプライバシーを取得するリスクを軽減することが可能である。
複数の実施形態のうちのいくつかにおいては、アプリケーションが携帯電話の許可サービスの中に1つ又は複数のアプリケーション許可を登録した後に、各々のアプリケーション許可を使用するときは、そのアプリケーションは、許可サービスを呼び出して、現在使用されているアプリケーション許可が登録されているアプリケーション許可であるということを決定する必要がある。
例えば、図5に示されているように、地図アプリケーションは、許可サービスの中に、位置情報の取得の許可、マイクロフォンの使用の許可、カメラの使用の許可、及びブルートゥースの使用の許可等の4つのアプリケーション許可を登録する。この場合には、地図アプリケーションがいずれかのアプリケーション許可を使用するときに、地図アプリケーションは、地図アプリケーションが今回アプリケーション許可を使用することを許可することを許可サービスに申請する必要がある。例えば、地図アプリケーションが、カメラを使用して、地図アプリケーションを実行しているときにカメラが取得する画像情報を取得する必要がある場合に、地図アプリケーションは、今回カメラの使用を許可するためのアプリケーション許可を許可することを許可サービスに要求することが可能である。さらに、許可サービスは、地図アプリケーションの許可アクセスログにおいて、地図アプリケーションがカメラを使用する許可を登録しているか否かを問い合わせてもよい。地図アプリケーションがカメラを使用するアプリケーション許可を登録している場合には、許可サービスは、さらに、現在の使用シナリオに基づいて、地図アプリケーションが今回カメラを使用することを許可するか否かを決定してもよい。
例えば、シナリオ識別モデルは、携帯電話の中にあらかじめ設定されてもよく、シナリオ識別モデルは、現在のアプリケーションの使用シナリオを識別するのに使用されてもよい。例えば、地図アプリケーションが、今回カメラを使用するためのアプリケーション許可を許可することを許可サービスに要求するときに、許可サービスは、スクリーンショットサービスを呼び出して、現在表示されているインターフェイスのスクリーンショットを取得してもよい。さらに、許可サービスは、シナリオ識別モデルに、得られたスクリーンショットを入力してもよく、シナリオ識別モデルは、スクリーンショットの中のテキスト又は制御等のスクリーンショット情報に基づいて、現在の使用シナリオを識別する。
代替的に、携帯電話は、さらに、OCR(optical character recognition, 光学式文字認識)技術を使用することによって、現在の表示インターフェイスにおけるキーワードを抽出してもよい。さらに、許可サービスは、シナリオ識別モデルに、抽出されたキーワードを入力してもよく、シナリオ識別モデルは、そのキーワードに基づいて、現在の使用シナリオを識別する。
代替的に、携帯電話は、さらに、例えば、レイアウトツリー(layout tree)等のビュー(view)等のサービスを使用することによって、現在の表示インターフェイスのレイアウト機能を取得してもよい。さらに、許可サービスは、シナリオ識別モデルに、抽出されたレイアウト特徴を入力してもよく、シナリオ識別モデルは、そのレイアウト特徴に基づいて、現在の使用シナリオを識別する。もちろん、携帯電話は、さらに、現在のアプリケーションの特定の使用シナリオを識別することをサーバに要求してもよい。特定の使用シナリオを識別する方式は、この出願のこの実施形態においては限定されない。
さらに、ある1つの例として、地図アプリケーションを使用する。図6(a)に示されているように、アカウント又はログインパスワード等のアイコン又はキーワードが、現在の表示インターフェイスの中に現れる場合に、携帯電話は、地図アプリケーションが、現在、ログインシナリオの最中であるということを決定してもよい。図6(b)に示されているように、地図、ナビゲーション、ルート等のアイコン又はキーワードが、現在の表示インターフェイスの中に現れる場合には、携帯電話は、地図アプリケーションが、現在、測位シナリオの最中であるということを決定してもよい。図6(c)に示されているように、地図アプリケーションの表示要素が、現在の表示インターフェイスに現れない場合には、携帯電話は、地図アプリケーションが現在実行中のバックグラウンドシナリオの最中であるということを決定してもよい。
代替的に、ある1つの例としてWeChatアプリケーションを使用する。図7(a)に示されているように、携帯電話が、アカウント又はログインパスワード等のアイコン又はキーワードが、現在の表示インターフェイスの中に表示されているということを検出する場合に、携帯電話は、ログインシナリオとして表示インターフェイスをマークしてもよい。図7(b)に示されているように、携帯電話が、チャットバブル等のアイコン又は制御が、現在の表示インターフェイスの中に現れているということを検出する場合に、携帯電話は、メッセージシナリオとして表示インターフェイスをマークしてもよい。図7(c)に示されているように、携帯電話が、現在の表示インターフェイスの中に再生進行バー又は再生ボタン等の制御が表示されているということを検出する場合、或いは、携帯電話が、消費されたデータトラフィックがあるしきい値よりも大きいということを検出する場合には、携帯電話は、再生シナリオとして表示インターフェイスをマークしてもよい。
さらに、ある1つの例として、地図アプリケーションを使用する。携帯電話が地図アプリケーションの現在の使用シナリオを決定した後に、携帯電話は、使用シナリオを参照して、地図アプリケーションに、今回カメラを使用するためのアプリケーション許可を許可するか否かを決定してもよい。図8に示されているように、地図アプリケーションが測位シナリオの最中であるということを検出する場合に、携帯電話は、測位シナリオと一致するアプリケーション許可が、カメラを使用するためのアプリケーション許可を含むか否かを決定してもよい。測位シナリオと一致するアプリケーション許可が、カメラを使用するためのアプリケーション許可を含む場合に、地図アプリケーションがカメラを使用することによって操作を実行することのセキュリティリスクが相対的に低いということを示し、許可サービスは、地図アプリケーションに、カメラを使用するためのアプリケーション許可を許可してもよい。それに対応して、測位シナリオと一致するアプリケーション許可が、カメラを使用するためのアプリケーション許可を含んでいない場合には、地図アプリケーションがカメラを使用することによって操作を実行することのセキュリティリスクが相対的に高いということを示している。この場合には、許可サービスは、地図アプリケーションに対して、カメラを使用するためのアプリケーション許可を許可することを拒否してもよい。
例えば、表2に示されているように、各々のアプリケーション許可と利用シナリオホワイトリストとの間の対応関係は、携帯電話の中にあらかじめ設定されていてもよい。
各々のアプリケーション許可は、アプリケーション許可が使用されることを許可される1つ又は複数の使用シナリオに対応する。例えば、カメラを使用するためのアプリケーション許可を使用することを許可されるシナリオは、撮影/ビデオ記録シナリオ、乗車シナリオ、買い物/スキャニングコードシナリオ、社会的通信シナリオ、及び証明書処理シナリオを含む。例えば、WeChatアプリケーションは、携帯電話によって実行される。WeChatアプリケーションを実行するときに、WeChatアプリケーションが、撮影/ビデオ記録シナリオ等の使用シナリオホワイトリストの中のシナリオに沿ってカメラを使用することを許可サービスに申請しているということを検出する場合には、許可サービスは、WeChatアプリケーションが今回カメラを使用することの許可要求を許可してもよい。WeChatアプリケーションが、チャット等の使用シナリオホワイトリストの中に含まれていないシナリオに沿ってカメラを使用することを許可サービスに申請しているということを検出する場合には、許可サービスは、WetChatアプリケーションが今回カメラを使用することの許可要求を拒否してもよい。
例えば、携帯電話が、地図アプリケーションがカメラの使用を要求する使用シナリオが、測位シナリオであるということを識別する場合に、携帯電話は、表2を使用することによって、測位シナリオが、カメラを使用するためのアプリケーション許可に対応する使用シナリオホワイトリストの中に存在しないということを決定してもよい。このことは、測位シナリオに沿ってカメラを使用する操作は、ユーザにとって比較的高いセキュリティリスクを有するということを示す。したがって、携帯電話は、今回のカメラを使用するためのアプリケーション許可を地図アプリケーションに許可することを拒否してもよい。この場合には、図8に示されているように、携帯電話は、通知701を表示し、そして、携帯電話が、地図アプリケーションが今回カメラを使用するための許可アプリケーションを拒否したということを通知701においてユーザに通知してもよい。
例えば、携帯電話の中の許可サービスが、カメラを使用するためのアプリケーション許可を地図アプリケーションに許可することを拒否するときに、地図アプリケーションに許可拒否応答であるPERMISSION_DENIEDを返送してもよい。許可拒否応答を受信した後に、地図アプリケーションは、カメラを開くためのカメラサービスを継続して呼び出して、画像情報を取得することは不可能であり、それにより、アプリケーションが、システムリソースを消費するためのアプリケーション許可又はユーザプライバシーを取得するためのアプリケーション許可を乱用するという問題を回避する。
この出願のこの実施態様における上記の使用シナリオの分割は、説明のためのある1つの例であるにすぎないということに留意すべきである。このことは、この出願のこの実施態様においては限定されない。
加えて、この出願の複数の実施形態のうちのいくつかにおいて、"使用シナリオ"は、この出願によって提供される複数の技術的解決方法を説明するための概念として使用されてもよい。テキスト、アイコン、制御、又は操作等の使用シナリオを示すのに使用される検出項目を検出するときに、携帯電話は、それらの検出項目に基づいて、アプリケーションがアプリケーション許可を使用することを許可するべきであるか又は拒否するべきであるかを決定してもよい。この場合には、携帯電話は、実際には、使用シナリオを決定するステップを実行する必要はない。例えば、対応するアイコン(又は、制御)ホワイトリストと複数の異なるアプリケーション許可との間の対応関係が、携帯電話の中に設定されていてもよい。携帯電話が、地図又は経路のアイコンが現在の表示インターフェイスに表示されているということを検出する場合に、その検出は、携帯電話がこの時点においては測位シナリオの最中であるということを意味する。この状況において、許可サービスが、地図アプリケーションによるカメラを使用することの要求を受信する場合には、許可サービスは、上記の対応関係に基づいて、地図アプリケーションが今回カメラを使用するための許可アプリケーションを直接的に拒否してもよい。
さらに、携帯電話が、ユーザが表示通知701をタップしているということを検出する場合に、図9(a)に示されているように、携帯電話は、地図アプリケーションの許可管理インターフェイス801にジャンプしてもよい。許可管理インターフェイス801においては、ユーザは、地図アプリケーションのための対応するアプリケーション許可を手動で有効化し又は無効化してもよい。加えて、有効化されているアプリケーション許可については、携帯電話は、さらに、アプリケーション許可の特定の使用シナリオを修正する機能を設定してもよい。例えば、携帯電話が、ユーザが許可管理インターフェイス801においてカメラのアプリケーション許可を使用するための設定ボタン802をタップしているということを検出する場合に、図9(b)に示されているように、携帯電話は、地図アプリケーションがカメラのアプリケーション許可を使用する特定の使用シナリオを表示してもよい。ユーザは、地図アプリケーションがカメラを使用することを許可される使用シナリオを手動で追加してもよく、又は、地図アプリケーションがカメラを使用することを許可される現在許可されている使用シナリオを無効化してもよい。このことは、この出願のこの実施態様においては限定されない。
いくつかの他の実施形態において、携帯電話が、現在の測位シナリオが、カメラを使用するためのアプリケーション許可に対応する使用シナリオホワイトリストの中に存在しないということを決定する場合には、図10に示されているように、携帯電話は、ダイアログボックス901を表示し、そして、地図アプリケーションがカメラ機能の現在の使用を予想しているユーザに対して、ダイアログボックス901の中でプロンプトを表示してもよい。加えて、携帯電話は、プロンプトボックス901において、地図アプリケーションが今回カメラを使用することを許可されているか否かをユーザに尋ねてもよい。ユーザが"拒否"ボタン902をタップしているということを検出する場合に、携帯電話の中の許可サービスは、カメラを使用するためのアプリケーション許可を地図アプリケーションに許可することを拒否する。ユーザが"許可"ボタン903をタップしているということを検出する場合に、携帯電話は、ユーザが、現在の使用シナリオに沿ってカメラを使用することのセキュリティリスクを認識しているということを示し、ユーザは、依然として、地図アプリケーションが現在の使用シナリオに沿ってカメラを使用することを許可する。この場合には、携帯電話は、カメラを使用するためのアプリケーション許可を地図アプリケーションに許可してもよい。例えば、許可サービスは、地図アプリケーションに、許可付与応答であるPERMISSION_GRANTEDを返送してもよい。その許可付与応答を受信した後に、地図アプリケーションは、カメラサービスを継続して呼び出して、画像情報を取り込むためにカメラを開いてもよい。
携帯電話の中に、各々のアプリケーション許可と使用シナリオホワイトリストとの間の対応関係を設定するのに加えて、携帯電話の中に、さらに、各々のアプリケーション許可と使用シナリオブラックリストとの間の対応関係を設定してもよいということに留意すべきである。この場合には、携帯電話が、地図アプリケーションがカメラを使用するためのアプリケーション許可を許可サービスに申請しているということを検出する場合に、携帯電話は、現在の使用シナリオが、カメラを使用するためのアプリケーション許可に対応する使用シナリオブラックリストの中に存在するか否かを決定してもよい。現在の使用シナリオが、カメラを使用するためのアプリケーション許可に対応する使用シナリオブラックリストの中に存在する場合には、現在の使用シナリオに沿って地図アプリケーションがカメラを使用する操作は、ユーザにとって比較的高いセキュリティリスクを伴う操作であるということを示す。したがって、携帯電話は、カメラを使用するためのアプリケーション許可を地図アプリケーションに許可することを拒否してもよい。
代替的に、携帯電話が、地図アプリケーションがカメラを使用するためのアプリケーション許可を許可サービスに申請しているということを検出する場合に、その携帯電話は、さらに、地図アプリケーションが現在の使用シナリオに沿ってカメラを使用することによって画像情報を取り込むのに適しているか否かを決定することをサーバに要求してもよい。このことは、この出願のこの実施態様においては限定されない。例えば、図11に示されているように、携帯電話は、サーバに、地図アプリケーションの許可アクセスログを報告してもよい。加えて、地図アプリケーションを実行するときに、携帯電話は、表示インターフェイスのスクリーンショットを周期的に撮影し、そして、サーバに、得られたスクリーンショットを報告してもよい。携帯電話が送信するスクリーンショットに基づいて、サーバは、機械学習の関連するアルゴリズムを使用することによって、複数の異なるスクリーンショットが属する使用シナリオを識別してもよい。代替的に、各々のスクリーンショットの使用シナリオは、手動マーキング法を使用することによってスタッフメンバーがマーク付けしてもよい。さらに、地図アプリケーションの許可アクセスログを参照して、サーバは、その許可アクセスログの中の複数の異なるアプリケーション許可と使用シナリオホワイトリストとの間の(例えば、表2の)対応関係を確立し、そして、携帯電話にその対応関係を配信してもよい。このようにして、携帯電話の中の地図アプリケーションが、アプリケーション許可を使用することを許可サービスに要求するときに、その許可サービスは、シナリオ識別モジュールが識別する特定の使用シナリオ及びサーバが配信する対応関係に基づいて、現在の使用シナリオに沿って地図アプリケーションが要求するアプリケーション許可が適切であるか否かを決定し、そして、さらに、地図アプリケーションがアプリケーション許可を使用することを許可し又は拒否してもよい。
上記の実施形態においては、説明のために、地図アプリケーションが、測位シナリオにおいてカメラを使用するためのアプリケーション許可を使用することを要求するある1つの例を使用している。地図アプリケーションが、他の使用シナリオに沿っていずれかのアプリケーション許可を使用することを要求するときに、携帯電話の中の許可サービスは、上記の方法にしたがって、地図アプリケーションが今回アプリケーション許可を使用することを許可し/拒否してもよいということを理解することが可能である。
それに対応して、他のアプリケーションが複数の異なる使用シナリオに沿ってアプリケーション許可を使用することを申請するときに、携帯電話は、また、上記の方法にしたがって、アプリケーションがアプリケーション許可を使用することを許可し/拒否してもよい。
ある1つの例として読み取りアプリケーシを使用して、携帯電話がその読み取りアプリケーションを実行するときに、携帯電話は、周期的に、現在の使用シナリオを識別し、そして、最新の識別された使用シナリオを格納してもよい。許可サービスが、読み取りアプリケーションから位置情報を取得するための要求を受信する場合には、図12に示されているように、許可サービスは、最も最近に識別された使用シナリオが読み取りシナリオであるということを取得してもよい。さらに、許可サービスは、位置情報を取得するためのアプリケーション許可に対応する使用シナリオホワイトリストが、表2の中の読み取りシナリオを含むか否かを問い合わせてもよい。位置情報を取得するためのアプリケーション許可に対応する使用シナリオホワイトリストが、読み取りシナリオを含んでいない場合に、読み取りシナリオに沿ってユーザの位置情報を取得する操作は、ユーザのセキュリティリスクが高い操作であるということを示す。したがって、許可サービスは、位置情報を取得するためのアプリケーション許可を読み取りアプリケーションに許可することを拒否してもよい。
例えば、許可サービスが、位置情報を取得するためのアプリケーション許可を読み取りアプリケーションに許可することを拒否するときに、許可サービスは、読み取りアプリケーションに、許可付与応答であるPERMISSION_GRANTEDを返送してもよい。加えて、許可サービスは、測位サービスに、読み取りアプリケーションに今回は偽の位置情報を提供するように測位サービスに指示する指示情報を送信してもよい。このようにして、許可付与応答を受信した後に、読み取りアプリケーションは、測位サービスに、ユーザの現在の位置情報を報告するように測位サービスに要求する位置要求を継続して送信してもよい。測位サービスは、許可サービスが送信する指示情報を受信しているため、読み取りアプリケーションが送信する位置要求を受信した後に、測位サービスは、読み取りアプリケーションにユーザの現在の実際の位置情報を報告する代わりに、読み取りアプリケーションに偽の位置情報を報告してもよい。例えば、測位サービスは、経度及び緯度の位置情報をランダムに生成し、そして、読み取りアプリケーションにその位置情報を報告してもよい。他の例として、測位サービスは、携帯電話があらかじめ設定する(例えば、北極及び南極等の)いずれかの位置の緯度及び経度情報を取得し、そして、さらに、読み取りアプリケーションにその取得した緯度及び経度情報を報告してもよい。
このように、読み取りアプリケーションは、読み取りシナリオにおいて位置サービスを使用するためのアプリケーション許可を取得するが、その測位サービスから読み取りアプリケーションが最終的に取得する位置情報は、ユーザの実際の位置情報ではない。このことにより、読み取りアプリケーションが、不適切な使用シナリオに沿ってユーザの位置情報をランダムに取得することを回避する。
複数の実施形態のうちのいくつかにおいて、いくつかのアプリケーションが、アプリケーション許可を使用することを許可サービスに申請するときに、許可サービスが返送する許可付与応答を取得していない場合には、そのアプリケーションは、例えば、予期しない終了、停止、又はクラッシュ等のユーザの使用に影響する例外に遭遇する場合がある。それらのアプリケーションは、以降の実施形態においては特定のタイプのアプリケーションと称されてもよい。この場合には、許可サービスが、読み取りアプリケーションが今回要求するアプリケーション許可が、現在の使用シナリオに対応していないということを決定する場合には、許可サービスは、さらに、読み取りアプリケーションが特定のタイプのアプリケーションであるか否かを取得してもよい。読み取りアプリケーションが特定のタイプのアプリケーションである場合には、許可サービスは、上記の方法にしたがって、読み取りアプリケーションに、対応する偽のデータを提供するように関連するサービスに指示してもよい。
偽データは、アプリケーションが許可サービスによって、(例えば、位置サービス、連絡先サービス、又は電話サービス等の)サービスに(例えば、位置情報、連絡先情報、又は画像情報等の)ユーザデータを要求することを許可されるときに、対応するサービスが、実際のユーザデータと一致しない仮想データをアプリケーションに提供するということを意味する。例えば、偽のデータは、偽の位置情報、偽の国際モバイル機器識別情報(international mobile equipment identity, IMEI)、偽のシリアル番号(serial number, SN)、偽の連絡先情報、又は偽の写真等である。このように、特定のタイプの上記のアプリケーションによってユーザの実際のデータが漏洩することを防ぐことが可能であり、特定のタイプの上記のアプリケーションの通常の実行プロセスには影響を与えない。
例えば、読み取りシナリオにおいて、読み取りアプリケーションが、許可サービスに位置情報を取得することを要求しているということを検出する場合に、許可サービスは、今回は読み取りアプリケーションに偽の位置情報を提供するように測位サービスに自動的に指示してもよい。この場合には、図13(a)に示されているように、携帯電話は、通知1001を表示してもよく、通知1001は、今回読み取りアプリケーションに提供される位置情報が、ユーザの実際の位置情報ではないということをユーザに教てもよい。
加えて、携帯電話は、さらに、通知1001において、修正ボタン1002を設定してもよい。携帯電話が、ユーザがボタン1002を選択しているということを検出する場合に、図13(b)に示されているように、携帯電話は、位置情報を取得するために、アプリケーション許可の管理インターフェイス1003にジャンプしてもよい。管理インターフェイス1003においては、ユーザは、読み取りアプリケーションに位置情報を報告する特定の方式を手動で修正してもよい。例えば、読み取りアプリケーションに位置情報を報告することを禁止するオプション1004が、管理インターフェイス1003の中に設定される。読み取りアプリケーションが、特定のタイプの上記のアプリケーションである場合には、携帯電話は、さらに、オプション1004を選択した後に、読み取りアプリケーションが正常に動作しない場合があるということをユーザに教えてもよい。他の例では、読み取りアプリケーションに偽の位置情報を報告するオプション1005及び読み取りアプリケーションに実際の位置情報を報告するオプション1006は、さらに、管理インターフェイス1003の中に設定されてもよい。位置情報を取得するためのアプリケーション許可に対応する使用シナリオホワイトリストが、読み取りシナリオを含んでいない場合には、携帯電話は、さらに、オプション1006を選択するようにユーザに促し、ユーザプライバシー漏洩のセキュリティリスクを増大させる場合がある。
代替的に、携帯電話が、読み取りシナリオにおいて、読み取りアプリケーションが、許可サービスに位置情報を取得することを要求しているということを検出する場合には、図14に示されているように、携帯電話は、プロンプトボックス1007において、読み取りアプリケーションが位置情報を取得することを許可するか否かをユーザに問い合わせてもよい。読み取りアプリケーションは、特定のタイプの上記のアプリケーションに属しているため、ユーザが"拒否"ボタン1008をタップしているということを検出する場合に、読み取りアプリケーションの予期せぬ終了、停止、又はクラッシュ等の現象を回避するために、携帯電話の中の許可サービスは、上記の方法にしたがって、読み取りアプリケーションに偽の位置情報を提供するように測位サービスに指示して、読み取りアプリケーションによってユーザの実際の位置情報が漏えいするのを防止することが可能である。
複数の実施形態のうちのいくつかにおいて、アプリケーションリストは、携帯電話の中にあらかじめ設定されていてもよく、アプリケーションリストの中のアプリケーションのすべては、特定のタイプの上記のアプリケーションに属している。さらに、ある1つの例として、上記の読み取りアプリケーションを使用する。携帯電話が、読み取りアプリケーション要求が使用するアプリケーション許可が、現在の使用シナリオに対応していないということを検出する場合には、携帯電話は、上記のアプリケーションリストにしたがって、読み取りアプリケーションが上記の特定のタイプのアプリケーションであるか否かを決定してもよい。
代替的に、いくつかのアプリケーションが、特定のタイプのアプリケーション許可を使用することを許可サービスに申請するときに、許可サービスが返送する許可付与応答を取得していない場合に、アプリケーションは、例えば、予期しない終了、停止、又はクラッシュ等のユーザの使用に影響を与える例外に遭遇する場合がある。この場合には、さらに、上記のアプリケーションリストの中に、ユーザの使用に影響を与える特定のタイプのアプリケーション許可を設定してもよい。例えば、アプリケーションリストは、アプリケーションAを含み、アプリケーションAに対応する特定のタイプのアプリケーション許可は、アプリケーション許可1及びアプリケーション許可2を含む。この場合には、さらに、ある1つの例として、上記の読み取りアプリケーションを使用する。携帯電話が、読み取りアプリケーションが使用することを要求するアプリケーション許可が、現在の使用シナリオに対応していないということを検出するときに、携帯電話が、上記のアプリケーションリストが読み取りアプリケーションを含み、読み取りアプリケーションに対応する特定のタイプのアプリケーション許可が、読み取りアプリケーションが今回使用することを要求するアプリケーション許可を含むということを発見する場合には、携帯電話は、上記の方法にしたがって、読み取りアプリケーションに、対応する偽のデータを提供するように関連するサービスに指示してもよい。
加えて、携帯電話は、さらに、アプリケーションリストの中に記録されているアプリケーション又はアプリケーション許可を更新してもよい。例えば、許可サービスが、アプリケーション3を使用するためのアプリケーションBの許可アプリケーションを拒否した後に、携帯電話がアプリケーションBの予期せぬ終了、失速、又はクラッシュ等の現象を検出する場合に、携帯電話は、上記アプリケーションリストにアプリケーションBを追加し、アプリケーションBに対応する特定のタイプのアプリケーション許可がアプリケーション3を含むということをアプリケーションリストに記録してもよい。もちろん、携帯電話は、代替的に、アプリケーションリストの作成又は更新をサーバに要求してもよい。このことは、この出願のこの実施態様においては限定されない。
この出願のこの実施形態によって提供されるアプリケーション許可を管理する方法において、携帯電話は、粒度として使用シナリオを使用することによって、複数の異なる使用シナリオにおける対応するアプリケーション許可を取得するようにアプリケーションを制御して、アプリケーション許可を登録した後に、アプリケーションがアプリケーション許可を乱用して、ユーザプライバシーを取得することを防止してもよい。このことは、ユーザプライバシーの漏洩のセキュリティリスクを減少させるとともに、ユーザ体験を改善する。
携帯電話は、よりきめ細かい使用シナリオに基づいて、アプリケーションが使用することを要求するアプリケーション許可を制御することが可能であるため、複数の実施形態のうちのいくつかにおいては、アプリケーションが携帯電話の中の許可サービスにアプリケーション許可を登録するプロセスを省略してもよい。言い換えると、アプリケーションがインストールされ又は実行されるときに、後で使用する必要がある1つ又は複数のアプリケーション許可は、許可サービスの中にあらかじめ登録されている必要はない。それに対応して、アプリケーションがアプリケーション許可を使用する必要があるときは、その都度、許可サービスは、現在の使用シナリオに基づいて、アプリケーションがアプリケーション許可を使用することを許可し又は拒否してもよい。
例えば、携帯電話は、現在の使用シナリオをリアルタイムで検出し、携帯電話の中に変数を設定して、最も直近に検出された特定の使用シナリオを格納してもよい。ある1つの例としてWeChatアプリケーションを使用する。WeChatアプリケーションがインストールされているときに、WeChatアプリケーションに対してアプリケーションの許可を許可する必要はない。図15に示されているように、現在のシナリオがWeChatアプリケーションのログインシナリオであるということを検出した後に、携帯電話は、上記の変数によって、WeChatログインシナリオとして現在の使用シナリオを保存することが可能である。さらに、許可サービスが、WeChatアプリケーションが送信するとともに、カメラを使用することを要求する許可アプリケーションを受信する場合に、許可サービスは、カメラを使用するためのアプリケーション許可に対応する使用シナリオホワイトリストが、WeChatログインシナリオを含むか否かを表2に照会してもよい。カメラを使用するためのアプリケーション許可に対応する使用シナリオホワイトリストが、WeChatログインシナリオを含んでいない場合には、WeChatログインシナリオにおいてカメラを使用すると、ユーザのプライバシーが漏洩する場合があるということを示す。したがって、許可サービスは、カメラを使用するためのアプリケーション許可をWebチャットアプリケーションに許可することを拒否してもよい。この場合には、さらに、図15に示されているように、携帯電話は、ダイアログボックス1101を表示して、WeChatによって今回カメラを使用するための許可アプリケーションが拒否されたということをユーザに教えてもよい。
図16(a)に示されているように、WeChatアプリケーションへのログインに成功した後に、携帯電話は、WeChatアプリケーションの表示インターフェイス1201を表示することが可能であり、表示インターフェイス1201は、2次元コードをスキャンするのに使用されるコードスキャニングボタン1202を含む。携帯電話が、ユーザがコードスキャニングボタン1202をタップしているということを検出する場合には、図16(b)に示されているように、携帯電話は、WeChatアプリケーションにおいてコードスキャニングインターフェイス1203を表示してもよい。この場合には、一方で、携帯電話は、現在の使用シナリオがコードスキャニングシナリオに更新されているということを検出することが可能である。これに対して、WeChatアプリケーションのコードスキャン機能は、カメラを使用して、2次元コード情報を取得する必要があるため、WeChatアプリケーションは、携帯電話の中の許可サービスに、今回カメラを使用するためのアプリケーション許可をWeChatアプリケーションに許可するように要求してもよい。この場合には、現在のコードスキャニングシナリオを参照して、表2に示されている対応関係から、今回のWeChatアプリケーションによるコードスキャニングシナリオにおけるカメラの使用は、適切な許可アプリケーションであるということを決定してもよい。したがって、許可サービスは、WeChatアプリケーションに、許可付与応答であるPERMISSION_GRANTEDを自動的に返送してもよい。許可付与応答を受信した後に、WeChatアプリケーションは、カメラサービスを継続して呼び出して、画像情報を取り込むためにカメラを開いてもよい。このようにして、携帯電話は、ユーザが知覚することなく、相対的に低いセキュリティリスクを有する適切なシナリオにおいて、アプリケーションが関連するアプリケーション許可を使用することを自動的に許可して、ユーザプライバシーの漏洩のリスクを減少させるとともに、ユーザの体験を改善することが可能である。
いくつかの他の実施形態においては、図16(b)に示されているように、WeChatアプリケーションがコードスキャニングシナリオにおいて今回カメラを使用することが適切な許可アプリケーションであるということを決定した後に、携帯電話は、さらに、コードスキャニングインターフェイス1203にダイアログボックス1204を表示し、そのダイアログボックス1204において、WeChatアプリケーションがコードスキャニングシナリオにおいてカメラ機能を使用することであるということをユーザに教え、WeChatアプリケーションがカメラ機能を使用することを許可するか否かをユーザに尋ねてもよい。ユーザが"今回は許可する"ボタン1205を選択しているということを検出する場合に、そのことは、ユーザが、コードスキャニングシナリオにおいてのみ、WeChatアプリケーションがカメラ許可を使用することを許可するということを示す。したがって、許可サービスは、ユーザの選択に応答して、WeChatアプリケーションがカメラを使用することを許可してもよい。その後、携帯電話が、WeChatアプリケーションがカメラを使用することを申請しているということをコードスキャニングシナリオにおいて再び検出する場合に、携帯電話は、ダイアログボックス1204を継続して表示して、WeChatアプリケーションがカメラを使用することを許可するようユーザに促してもよい。
代替的に、ダイアログボックス1204を表示するときに、携帯電話は、さらに、"毎回許可する"ボタン1205を設定してもよい。カメラを使用するためのシナリオホワイトリストは、コードスキャニングシナリオを含むため、アプリケーションがコードスキャニングシナリオにおいてカメラを使用することを許可することは、通常、ユーザプライバシーを漏洩させないということを示す。したがって、携帯電話は、ユーザが"毎回許可する"ボタン1205を選択することを推奨してもよい、具体的にいうと、WeChatアプリケーションがコードスキャニングシナリオにおいてカメラを使用することを毎回許可してもよい。この場合には、ユーザが"毎回許可する"ボタン1205を選択しているということを検出する場合に、ユーザが、コードスキャニングシナリオにおいてカメラを使用するためのアプリケーション許可をWeChatアプリケーションに毎回許可するということを示す。さらに、許可サービスは、ユーザの選択に応答して、WeChatアプリケーションがカメラを使用することを許可してもよい。加えて、WeChatアプリケーションがカメラを使用することを申請しているということをコードスキャニングシナリオにおいてその後に検出する場合に、携帯電話は、カメラを使用するためのアプリケーション許可をWeChatアプリケーションに自動的に許可してもよく、ダイアログボックス1204をもはや表示しなくてもよい。
代替的に、ダイアログボックス1204を表示するときに、携帯電話は、さらに、"許可することを拒否する"ボタン1206を設定してもよい。携帯電話が、"許可することを拒否する"ボタン1206がタップされているということを検出する場合に、携帯電話は、コードスキャン機能を完了することが不可能であるということをユーザに教えてもよい。ユーザが、さらに、コードスキャニングシナリオにおいてWeChatアプリケーションカメラを使用することを拒否する場合に、携帯電話は、WeChatアプリケーションがカメラを使用することを許可することを拒否してもよい。
いくつかの他の実施形態において、さらに、ある1つの例として、WeChatアプリケーションを使用する。携帯電話が、WeChatアプリケーションがアプリケーション許可を使用することを許可し/拒否するときに、携帯電話は、WeChatアプリケーションがアプリケーション許可を使用することを許可されている特定の使用シナリオによってユーザに促してもよい。例えば、図17(a)に示されているように、WeChatアプリケーションがカメラを使用するためのアプリケーション許可を許可することを許可サービスに要求しているということをWeChatログインシナリオにおいて初めて検出する場合に、携帯電話は、ダイアログボックス1301を表示してもよい。ダイアログボックス1301において、携帯電話は、WeChatアプリケーションがカメラ許可を使用することを許可されている1つ又は複数の使用シナリオ、すなわち、カメラを使用するためのアプリケーション許可に対応する使用シナリオホワイトリストの中の使用シナリオをユーザに提示してもよい。ユーザがOKボタン1302をタップしているということを検出する場合に、そのことは、ユーザが、ダイアログボックス1301の中で示されている使用シナリオにおいて、WeChatアプリケーションがカメラを使用することを許可されているということを確認したが、現在のWeChatログインシナリオは、上記の使用シナリオの中には存在しないということを示す。したがって、携帯電話は、カメラを使用するためのアプリケーション許可をWeChatアプリケーションに許可することを拒否してもよい。携帯電話が、ユーザが許可管理ボタン1303をタップしているということを検出する場合に、図17(b)に示されているように、携帯電話は、カメラを使用するためにアプリケーション許可管理インターフェイス1304にジャンプしてもよい。管理インターフェイス1304において、ユーザは、アプリケーションがカメラを使用することを許可されている特定の使用シナリオを手動で追加してもよく、又は、アプリケーションがカメラを使用することを許可されている現在許可されている使用シナリオを無効化してもよい。このことは、この出願のこの実施態様においては限定されない。
図18に示されているように、この出願のある1つの実施形態は、タッチスクリーン1801を含む電子デバイスを開示している。タッチスクリーン1801は、接触感知表面1806、ディスプレイ1807、1つ又は複数のプロセッサ1802、メモリ1803、(図示されていない)1つ又は複数のアプリケーションプログラム、及び1つ又は複数のコンピュータプログラム1804を含む。上記の構成要素は、1つ又は複数の通信バス1805を介して接続されてもよい。1つ又は複数のコンピュータプログラム1804は、メモリ1803の中に格納され、1つ又は複数のプロセッサ1802によって実行されるように構成される。1つ又は複数のコンピュータプログラム1804は、命令を含み、それらの命令は、上記の複数の実施形態のステップを実行するのに使用されてもよい。
例えば、プロセッサ1802は、具体的には、図1に示されているプロセッサ110であってもよく、メモリ1803は、具体的には、図1に示されている内部メモリ121又は外部メモリ120であってもよく、ディスプレイ1807は、具体的には、図1に示されているディスプレイ194であってもよく、接触感知表面1806は、具体的には、図1に示されているセンサモジュール180におけるタッチセンサ180Kであってもよい。
複数の実装についての上記の説明は、便宜的且つ簡潔な説明のために、ある1つの例として、上記の複数の機能モジュールへの分割のみを使用しているということを当業者が明確に理解することを可能とする。実際の適用においては、要求に基づく実装のために、上記の複数の機能を複数の異なる機能モジュールに割り当てることが可能である。言い換えると、装置の内部構成を複数の異なる機能モジュールに分割して、上記で説明されている複数の機能のうちのすべて又は一部を実装する。上記のシステム、装置、及びユニットの詳細な動作プロセスについては、上記の方法の実施形態における対応するプロセスを参照するべきであり、本明細書においては、詳細は繰り返しては説明されない。
この出願の複数の実施形態における複数の機能ユニットを一体化して、1つの処理ユニットとしてもよく、又は、それらの複数のユニットの各々は、物理的に単独で存在してもよく、或いは、2つ又はそれ以上のユニットを一体化して、1つのユニットとしてもよい。一体化されたユニットは、ハードウェアの形態で実装されてもよく、又は、ソフトウェア機能ユニットの形態で実装されてもよい。
一体化されたユニットがソフトウェア機能ユニットの形態で実装され、独立した製品として販売され又は使用されるときに、その一体化されたユニットは、コンピュータ読み取り可能な記憶媒体の中に格納されてもよい。そのような理解に基づいて、この出願のそれらの複数の実施形態の技術的解決方法は、本質的に、或いは、先行技術に寄与する部分又は複数の技術的解決方法のうちのすべて又は一部は、ソフトウェア製品の形態で実装されてもよい。コンピュータソフトウェア製品は、記憶媒体の中に格納され、いくつかの命令を含み、それらの命令は、この出願のそれらの複数の実施形態において説明されている複数の方法の複数のステップのうちのすべて又は一部を実行するように(パーソナルコンピュータ、サーバ、又はネットワークデバイスであってもよい)コンピュータデバイス又はプロセッサに指示する。上記の記憶媒体は、プログラムコードを格納することが可能であるフラッシュメモリ、取り外し可能なハードディスク、読み取り専用メモリ、ランダムアクセスメモリ、磁気ディスク、又はコンパクトディスク等のいずれかの媒体を含む。
上記の説明は、この出願の複数の実施形態のうちの特定の実装であるにすぎないが、この出願の複数の実施形態の保護範囲を限定することを意図してはいない。この出願のそれらの複数の実施形態において開示されている技術的範囲の中でのいずれかの変更又は置換は、この出願のそれらの複数の実施形態の保護の範囲に属するものとする。したがって、この出願のそれらの複数の実施形態の保護の範囲は、請求項に記載された発明の保護の範囲にしたがうものとする。