Language

Context.RevokeSelfPermissionsOnKill(ICollection<String>) メソッド

定義

呼び出し元パッケージの 1 つ以上のアクセス許可の失効をトリガーします。

[Android.Runtime.Register("revokeSelfPermissionsOnKill", "(Ljava/util/Collection;)V", "GetRevokeSelfPermissionsOnKill_Ljava_util_Collection_Handler", ApiSince=33)]
public virtual void RevokeSelfPermissionsOnKill(System.Collections.Generic.ICollection<string> permissions);
[<Android.Runtime.Register("revokeSelfPermissionsOnKill", "(Ljava/util/Collection;)V", "GetRevokeSelfPermissionsOnKill_Ljava_util_Collection_Handler", ApiSince=33)>]
abstract member RevokeSelfPermissionsOnKill : System.Collections.Generic.ICollection<string> -> unit
override this.RevokeSelfPermissionsOnKill : System.Collections.Generic.ICollection<string> -> unit

パラメーター

permissions
ICollection<String>

取り消すアクセス許可のコレクション。

属性

注釈

呼び出し元パッケージの 1 つ以上のアクセス許可の失効をトリガーします。 パッケージは、実行時のアクセス許可のみを取り消すことができます。 アクセス許可が現在付与されていない場合は無視され、取り消されません (後でユーザーに付与された場合でも)。 最終的には、ユーザーがいつでも権限を付与または取り消すことができるので、アクセス許可の状態を想定しないでください。

失効が有効になると、対応するフォアグラウンド アクセス許可を持たないバックグラウンド アクセス許可も取り消されます。

失効は非同期的に行われ、呼び出し元の UID で実行されているすべてのプロセスが強制終了されます。 安全に実行すると、トリガーされます。 特に、パッケージがフォアグラウンドに残っている限り、またはアクティブなマニフェスト コンポーネントがある限り、トリガーされません (たとえば、別のアプリがパッケージ内のコンテンツ プロバイダーにアクセスしている場合)。

アクセス許可をすぐに取り消したい場合は、System.exit()でHandler.postDelayedを呼び出して非同期 IPC の完了を許可することもできますが、System.exit()は、現時点でアプリにアクセスしている他のアプリに影響する可能性があります。 たとえば、アプリ内のコンテンツ プロバイダーにアクセスするアプリはすべてクラッシュします。

設定 UI には、グループ内の少なくとも 1 つのアクセス許可が付与されている限り、許可されたアクセス許可グループが表示されることに注意してください。 ユーザーに設定の失効を確認させる場合は、ターゲット グループ内のすべてのアクセス許可を取り消す必要があります。 グループ内のアクセス許可の現在の一覧を確認するには、 PackageManager#getGroupOfPlatformPermission(String, Executor, Consumer) と PackageManager#getPlatformPermissionsForGroup(String, Executor, Consumer)を使用できます。 このアクセス許可の一覧は時間の経過と同時に進化する可能性があるため、グループ全体を取り消す前に、保持するアクセス許可が含まれているかどうかを確認することをお勧めします。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象