AppOpsManager.NoteOp メソッド

定義

オーバーロード

名前 説明
NoteOp(String, Int32, String)

このメソッドは、API レベル 30 では非推奨になりました。

NoteOp(String, Int32, String, String, String)

操作を実行しているアプリケーションをメモし、アプリケーションで実行が許可されているかどうかを確認します。

NoteOp(String, Int32, String)

このメソッドは、API レベル 30 では非推奨になりました。

[Android.Runtime.Register("noteOp", "(Ljava/lang/String;ILjava/lang/String;)I", "GetNoteOp_Ljava_lang_String_ILjava_lang_String_Handler")]
public virtual Android.App.AppOpsManagerMode NoteOp(string op, int uid, string packageName);
[<Android.Runtime.Register("noteOp", "(Ljava/lang/String;ILjava/lang/String;)I", "GetNoteOp_Ljava_lang_String_ILjava_lang_String_Handler")>]
abstract member NoteOp : string * int * string -> Android.App.AppOpsManagerMode
override this.NoteOp : string * int * string -> Android.App.AppOpsManagerMode

パラメーター

op
String

文字列: この値を null にすることはできません。

uid
Int32

int

packageName
String

文字列: この値を null にすることはできません。

返品

属性

注釈

このメソッドは、API レベル 30 では非推奨になりました。 代わりに noteOp(String,int,String,String,String) を使用します

android.app.AppOpsManager.noteOpの Android リファレンス。

このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。

適用対象

NoteOp(String, Int32, String, String, String)

操作を実行しているアプリケーションをメモし、アプリケーションで実行が許可されているかどうかを確認します。

[Android.Runtime.Register("noteOp", "(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I", "GetNoteOp_Ljava_lang_String_ILjava_lang_String_Ljava_lang_String_Ljava_lang_String_Handler", ApiSince=30)]
public virtual Android.App.AppOpsManagerMode NoteOp(string op, int uid, string? packageName, string? attributionTag, string? message);
[<Android.Runtime.Register("noteOp", "(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I", "GetNoteOp_Ljava_lang_String_ILjava_lang_String_Ljava_lang_String_Ljava_lang_String_Handler", ApiSince=30)>]
abstract member NoteOp : string * int * string * string * string -> Android.App.AppOpsManagerMode
override this.NoteOp : string * int * string * string * string -> Android.App.AppOpsManagerMode

パラメーター

op
String

文字列: メモする操作。 OPSTR_* 定数の 1 つ。 この値は null にすることはできません。

uid
Int32

int: 操作を実行しようとしているアプリケーションの uid。

packageName
String

文字列: 操作を実行しようとしているアプリケーションの名前。 この値は null である可能性があります。

attributionTag
String

文字列: 呼び出し元コンテキストの属性タグ、または既定の属性の場合は null

message
String

文字列: 操作が記載された理由を説明するメッセージ。 この値は null である可能性があります。

返品

属性

注釈

操作を実行しているアプリケーションをメモし、アプリケーションで実行が許可されているかどうかを確認します。 保護された操作の前にないチェックの場合は、代わりに unsafeCheckOp(String, int, String) を使用してください。 app-op が示すパッケージの ID は、uid パラメーターと packageName パラメーターによって指定されます。 通常のアプリに対してこれが示されている場合は、両方を設定する必要があり、パッケージは uid の一部である必要があります。 非常にまれなケースでは、パッケージ名を持たないエンティティに対して app-op が示される場合、パッケージは null にすることができます。 1 つのプロセスに複数のパッケージが含まれている可能性があるため、最終的にこのチェックをトリガーする (アプリ プロセス内の) API の呼び出し元のコンテキストから packageName を読み取る必要があります。 実行中のプロセスに対してこの操作がメモされていない場合、packageName はコンテキストから読み取ることはできませんが、メモの対象となるパッケージは明確にする必要があります。 uid と packageName がこの戻り値と一致しない場合MODE_IGNORED。 アクセス チェックの横に、このメソッドはアクセスも記録します。 アクセス チェックは uid や packageName に基づいていますが、アクセス記録は packageName と attributionTag に基づいて行われます。 attributionTag は、パッケージ名が読み取られるのと同じコンテキストから読み取る必要があります。 チェックが API 呼び出しに関連していない場合、attributionTag は null にする必要があります。 たとえば、後でコールバックを登録することは引き続き API 呼び出しであり、コードは後でこのメソッドで使用するためのパッケージ名に沿って属性タグを格納する必要があることに注意してください。 メッセージ パラメーターは、このメソッドがクライアントからの双方向バインダー呼び出しで呼び出されない場合にのみ設定する必要があります。 この場合、メッセージは自由形式のテキストであり、アプリ開発者がアプリのコードのどの部分がメモをトリガーしたかを判断するのに役立ちます。 このメッセージは、OnOpNotedCallback.onAsyncNoted(AsyncNotedAppOp) コールバックでアプリに返されます。 便利なメッセージの良い例として、データを受信するリスナーの System.identityHashCode(Object) やマニフェスト レシーバーの名前が含まれます。

スロー: SecurityException アプリがこの操作でクラッシュするように構成されている場合。

android.app.AppOpsManager.noteOpの Android リファレンス。

このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。

適用対象