Android 11 では Google フォトが使いにくいですが、修正される可能性があります

スコープ付きストレージのおかげで、特定のデバイスの Android 11 では、Google フォトの画像を削除するのが少し不便になりますが、修正される可能性があります。

Google 以降、市場で Android 11 を搭載したデバイスが何台あるのかを知る方法はありません。 分布統計を公開しなくなりました、しかし、Xiaomi や Samsung のような企業がアップデートをプッシュする時間があったので、現在ではおそらく数千万人がいるでしょう。 彼らのモデルの多くは. デバイスで Android 11 が実行されており、Google フォトを使用している場合、アプリが画像の削除と復元を処理する方法にかなり迷惑な変更が発生した可能性があります。 削除したい画像やビデオを選択するだけではなく、ゴミ箱アイコンを押してから「移動」アイコンをタップします。 ゴミ箱へ」ボタンをタップすると、追加のプロンプトをタップして、Google フォトに削除または復元の許可を与える必要があります。 ファイル。

写真やビデオをたくさん撮影する人にとって、ファイルを削除または復元するために Google フォトに権限を付与する必要があるのは面倒かもしれません。 そして指摘されたように、 アンドロイド警察, 対処しなければならない可能性がある問題は、追加のボタンをタップすることだけではありません。 別のデバイスで Google フォトを使用していて、Android 11 を実行している携帯電話からアップロードしたファイルを編集またはゴミ箱に入れたい場合、アプリは「非同期の変更」を確認するよう求めることがあります。 Google フォトが別のプラットフォームで加えた変更を確認するよう求め続けると、すぐに面倒になってしまうことがあります。

ファイルを削除または復元するための追加の手順は Android 10 では必要ありませんでしたが、スコープ指定ストレージの適用により Android 11 では必要になりました。 Scoped Storage が登場する前は、外部ストレージ ディレクトリ全体へのアクセスは単一のディレクトリによって管理されていました。 許可が必要なため、プライベートなドキュメント、画像、またはデータにアクセスできるアプリを制限することが困難になります。 ビデオ。 スコープ付きストレージを導入すると、Android はユーザーの明示的な同意なしにアプリが機密ファイルにアクセスできる量を制限します。 スコープ付きストレージの詳細については、こちらをご覧ください。

記事上で または、変更の概要については、以下の Google の図を参照してください。

Google は Android 11 でのストレージ アクセスの制限に忙しい一方で、ユーザー エクスペリエンスを向上させるために既存の API の改善も行っていました。 たとえば、Android 11 をターゲットとするアプリは MediaStore API を使用して、 ファイルを削除するのではなくゴミ箱に入れる. ただし、ファイルをゴミ箱に移動するには、アプリは次のことを行う必要があります。 ユーザーに書き込みアクセスを許可するよう求める. 携帯電話から Google フォトに追加する画像や動画のほとんどは別のアプリからのものであるため、 ストック カメラ アプリなど — 写真はファイルを移動する前に許可を求める必要があります。 ごみ。 ただし、Android 11 がインストールされた Pixel スマートフォンを使用している場合、Google フォトはファイルをゴミ箱に入れる許可を求めません。 ただし、ほとんどの Samsung、Xiaomi、OnePlus、ASUS デバイスなど、基本的に Android 11 を実行している他のすべてのデバイスに対して許可を求めます。 何が与えますか?

その理由は、システム ギャラリー アプリが対象範囲ストレージの制限を受けないためです。 つまり、ストック ギャラリー アプリは、明示的な許可なしに画像やビデオを開いたり、編集したり、削除したりできるということです。 Google フォトは Pixel スマートフォンのシステム ギャラリー アプリとしてプリセットされていますが、ほとんどの OEM は代わりに独自のギャラリー アプリをプリセットしています。 さらに、Android の「デフォルト アプリ」画面にも、システム ギャラリー アプリを変更するためのユーザー向けの設定はありません。 ただし、そこには システムギャラリーアプリを変更する隠れた方法があります。 大きい 注意: システム ギャラリー アプリとして設定できるのは、システム アプリケーションのみです。 つまり、次の電話のみを意味します。 すでに Google フォトがシステム アプリとしてプリインストールされている このトリックを利用できます。

この基準を満たす携帯電話はそれほど多くありませんが、 私たちのテストに基づいて、これを確認できます ほとんどの OnePlus と一部の ASUS 携帯電話で動作します. この方法は、テストしたサムスンのどの携帯電話でも機能しませんでした。また、Xiaomi Mi 10 Proでも機能しませんでした。 root アクセス権がある場合、またはカスタム ROM を実行している場合、Google フォト アプリをシステム化した後、この方法がデバイスで機能する可能性がありますが、この方法は標準デバイスでのみテストされました。

Google フォトを(おそらく)システム ギャラリー アプリにする方法

クレジットは Kieron Quinn に与えられます (クイニー899 XDA フォーラム) でこのトリックを共有してください!

最初に行う必要があるのは、PC に ADB をインストールすることです。 その方法に関する最新のガイドがあります ここ. ADB をセットアップしたら、次のコマンドを入力します。

adbshellcmdroleadd-role-holderandroid.app.role.SYSTEM_GALLERYcom.google.android.apps.photos

エラーが表示されない場合は、おそらくうまくいきました。 写真を撮って Google フォトで削除してみると、機能したことをすぐに確認できます。 あるいは、次のコマンドを実行することもできます。

adb shell dumpsys role

...そして、「android.app.role」の「ホルダー」かどうかを確認します。 SYSTEM_GALLERY」は「com.google.android.apps.photos」(Google フォトのパッケージ名)です。

出力が赤い四角形で強調表示されたテキストと一致する場合、機能したことになります。

このコマンドは何をするのでしょうか?

Android 10 では、 「ロール」という新しい API". アプリに特定のロールがある場合、特定の権限へのアクセスが自動的に付与されます。 たとえば、 SYSTEM_GALLERY ロール アプリに「位置情報へのアクセスを含む、外部ストレージ上のすべての画像およびビデオ ファイルへの完全な読み取りおよび書き込みアクセス」を自動的に付与します。 SYSTEM_GALLERY ロールはシステム アプリケーションにのみ付与でき、そのデフォルトのホルダーは Android によって定義されます。 設定値「config_systemGallery」。 前に説明したように、ほとんどの OEM は、この値を自社の OEM に対応するパッケージ名に事前設定しています。 独自のギャラリーアプリ。 この値は、フレームワークを変更するかオーバーレイをインストールしない限り変更できません。どちらの場合も root アクセスが必要です。

ただし、それは  別のアプリを SYSTEM_GALLERY ロールの所有者として追加することは可能ですが、 そのアプリがシステムアプリでもある場合. これは、多くの OnePlus および一部の ASUS 携帯電話で可能です。これらの OEM は、ユーザー レベルではなくシステム レベルで Google フォトをプリインストールしているようです。 このため、Google フォト アプリは SYSTEM_GALLERY ロールを保持する資格があり、 Android の非表示の RoleManager シェル インターフェイスを使用して、通常はアクセスできない権限へのアクセスを許可します。 付与された。 SYSTEM_GALLERY ロールをシステム以外のアプリに付与しようとすると、logcat に次のエラーが表示されます。

ERoleControllerServiceImpl: Packagedoesnotqualifyfortherole, package: com.google.android.apps.photos, role: android.app.role.SYSTEM_GALLERY

残念ながら、この制限を回避する方法はまだ見つかっていませんが、回避できた場合は、その方法をコミュニティと共有する予定です。 もちろん、Google が SYSTEM_GALLERY ロールを OEM の選択に限定するのではなく、単純にユーザー定義可能にすることを望んでいます。