アダムヤ・シャルマ / Android 権威
TL;DR
- Google は、現在の全か無かの連絡先権限を修正するために、Android 17 用の新しい連絡先ピッカー ツールを開発しています。
- このツールを使用すると、連絡先リスト全体ではなく、特定の連絡先をアプリと共有できます。
- アクセスは 1 回限りのスナップショットとなり、アプリは必要な特定のデータ フィールドのみをリクエストできます。
デバイスの連絡先リストには、多くのアプリが入手したいと考えている機密データの宝庫が保管されています。幸いなことに、Android の権限システムにより、アプリが知らないうちに連絡先にアクセスすることは防止されています。残念ながら、これはオール・オア・ナッシングのシステムです。アプリにすべての連絡先へのアクセスを許可するか、まったくアクセスを許可しないかのどちらかです。これは、たとえ必要がない場合でも、多くのアプリに連絡先へのフルアクセスを許可することを強制するため、非常に問題があります。来年の Android 17 アップデートでは、連絡先リスト全体へのアクセスをアプリに与えるのではなく、アプリと共有する特定の連絡先を選択できるシステム連絡先ピッカー ツールを導入することで、この問題に取り組む可能性があります。
すべての Android スマートフォンには、連絡先の一元化されたローカル データベースがあります。オペレーティング システムは、アプリがデータベースを直接読み取らないように、このデータベースへのアクセスを保護します。代わりに、アプリは連絡先プロバイダー、連絡先データベース内の情報を取得または変更するための API を提供するシステム コンポーネント。これらの API を使用するには、アプリケーションはREAD_CONTACTSデータを読み取る権限と、WRITE_CONTACTSそれを書く許可。
このアプローチの問題点は、前述したように、全か無かであることです。アプリは、連絡先リスト全体に対する完全な読み取りまたは書き込みアクセス権を取得するか、まったくアクセス権を取得しません。メッセージング アプリやソーシャル メディア アプリにはすべての連絡先を表示する正当な必要性があるかもしれませんが、他の多くのアプリは 1 つ、2 つ、またはほんの少数にアクセスするだけで済みます。ただし、現在の Android の連絡先アクセスの管理方法により、これらのアプリは広範な権限を要求するしかありません。

ミシャール・ラーマン / Android 当局
関連している:
権限モデルは最も一般的な方法ですが、技術的にはアプリが連絡先にアクセスする別の方法があります。連絡先プロバイダーと直接やり取りする代わりに、アプリは次のことができます。仲介業者を利用する— システムのデフォルトの連絡先アプリ — 連絡先に関する情報を読み取ります。連絡先アプリはすでに連絡先データベースへの完全なアクセス権を持っているため、新たな許可プロンプトを必要とせずに、他のアプリに代わってこの情報を安全に取得できます。
ただし、このアプローチには欠陥がたくさんあります。まず、すべての Android デバイスで単一の統合された連絡先アプリが存在するわけではありません。 Google は Android オープンソース プロジェクト (AOSP) でリファレンス アプリを提供していますが、ほとんどのメーカーは (Samsung など) 独自に作成するか、Google の連絡先アプリを使用しています。この断片化は、連絡先の選択エクスペリエンスに一貫性がなくなり、開発者にとって複雑な問題を引き起こす可能性があることを意味します。
次に、この方法では、アプリが一度に選択できる連絡先は 1 つだけです。アプリが複数のアプリを必要とする場合、ユーザーに繰り返し尋ねる必要があり、これはストレスになります。第三に、共有される連絡先に関する情報を制限する方法はありません。最後に、基礎となる API問題があります、多くの開発者は、広範な要求を行う必要があることに気づいています。READ_CONTACTS問題を避けるためにとにかく許可してください。

ミシャール・ラーマン / Android 当局
Google が Android 17 用の新しいシステムの連絡先ピッカー ツールを開発しているのは、おそらくこれらの欠点が理由です。この動きは、Apple が昨年 iOS に導入した同様の変更に続くものとなります。
Android Authority の最高のものを見逃したくないですか?
Google は Android 17 の連絡先ピッカーでプライバシーをどのように改善するか
最新の Android Canary リリースで発見したように、Google は新しい専用の「連絡先ピッカー」アプリケーションを開発中です。このアプリは、Android のフォト ピッカーがメディアを選択する方法と同様に、他のアプリが連絡先を選択するためのプライバシーを保護する新しい方法を提供します。内部では、連絡先を選択するための標準システム要求を処理するために、新しい連絡先ピッカーが登録されています (ACTION_PICKとvnd.android.cursor.dir/contact, phone_v2, email_v2MIME タイプ)ですが、より高い優先度で構成されています(101) を使用して、デバイスのデフォルトの連絡先アプリよりも優先されるようにします。

ミシャール・ラーマン / Android 当局
連絡先ピッカー アプリ内の文字列により、一度に 1 つ以上の連絡先を選択してアプリと共有できることがわかります。アプリは、選択した連絡先の住所、誕生日、メールアドレス、名前など、利用可能なすべての情報にアクセスできるようになります。重要なのは、このアクセスが 1 回限りのスナップショットであるように見えることです。アプリは連絡先情報に加えられたその後の更新を受信しないため、アプリが時間の経過とともに変更を追跡するのを防ぎ、プライバシーをさらに保護します。
コード
テキストをコピーする
%1$s will only have access to info from the contacts you select
When you select a contact, %1$s will have access to the following info from your device contacts.nnIf you make any updates to the contact info, %1$s won’t have access to the changes.
Contact info can include details such as:OS 内の新しいコードにより、システムの連絡先ピッカーがどのように動作するかに関する追加情報が明らかになります。のContactsPickerSessionContractクラスは、Android 17 が という新しい専用のインテント アクションを追加していることを示しています。ACTION_PICK_CONTACTS。これにより、アプリは新しい連絡先ピッカーを直接呼び出すことができるようになります。
さらに重要なのは、この新しいアクションには、アプリをより具体的にできるようにするインテントの追加機能が含まれていることです。

ミシャール・ラーマン / Android 当局
彼らが必要としているものについて。たとえば、次のことができます。
- ユーザーが一度に選択できる連絡先の数を制限します。
EXTRA_PICK_CONTACTS_SELECTION_LIMIT。 - を使用して、必要な特定のデータ フィールド (電話番号のみなど) を指定します。
EXTRA_PICK_CONTACTS_REQUESTED_DATA_FIELDS。
これにより、開発者は 1 つ以上の連絡先から必要なデータのみへのアクセスをリクエストできるきめ細かな方法が提供され、ユーザーのプライバシーが大幅に向上します。
新しい連絡先ピッカーは明らかに開発中です。現在の状態では、新しいものはまだ処理できません。ACTION_PICK_CONTACTS意図。また、この機能は最新の Canary リリースでは無効フラグの後ろに隠されているため、まだ有効になっていないこともわかります。
Google は、新しい API を導入し、多くのアプリが使用する共通のインテントを変更するため、この機能のデビューでは Android 17 をターゲットにしている可能性があります。これは、呼び出し元アプリの SDK バージョンをチェックする連絡先ピッカー アプリ内のコードによってサポートされています。 Android 17 以降向けに構築されたアプリの場合、新しい連絡先ピッカーがリクエストを処理します。古いアプリの場合、互換性を維持するために、リクエストはデバイスのデフォルトの連絡先アプリに転送されます。
ただし、この新しいアプローチには、オプションであるという大きなハードルが 1 つあります。いずれにせよ、開発者があなたの連絡先への広範なアクセスを要求し続けることを妨げるものは何もありません。この機能で実際の違いを生むには、新しい連絡先ピッカーを使用するようにアプリを更新する必要があります。プライバシーを重視する一部の開発者はすぐにこれを採用しますが、多くはそうではありません。
広範な採用を促進するために、Google はフォト ピッカーで使用したのと同じ戦略に従う必要がある可能性があります。これには、この機能を古い Android バージョンにバックポートし、AndroidX ライブラリを通じてサポートを提供し、最終的には Google Play ポリシーを通じてその使用を強制することが含まれます。 Google がこれらの措置を講じれば、連絡先ピッカーはすべての Android ユーザーにとって重要なプライバシーの勝利となる可能性があります。
私たちのコミュニティにご参加いただきありがとうございます。投稿する前にコメントポリシーをお読みください。














