Language

DevicePolicyManager.SetNetworkLoggingEnabled(ComponentName, Boolean) メソッド

定義

ネットワーク ログ機能を制御するために、デバイス所有者、マネージド プロファイルのプロファイル所有者、または #DELEGATION_NETWORK_LOGGING を使用して委任されたアプリによって呼び出されます。

[Android.Runtime.Register("setNetworkLoggingEnabled", "(Landroid/content/ComponentName;Z)V", "GetSetNetworkLoggingEnabled_Landroid_content_ComponentName_ZHandler", ApiSince=26)]
[Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_NETWORK_LOGGING")]
public virtual void SetNetworkLoggingEnabled(Android.Content.ComponentName? admin, bool enabled);
[<Android.Runtime.Register("setNetworkLoggingEnabled", "(Landroid/content/ComponentName;Z)V", "GetSetNetworkLoggingEnabled_Landroid_content_ComponentName_ZHandler", ApiSince=26)>]
[<Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_NETWORK_LOGGING")>]
abstract member SetNetworkLoggingEnabled : Android.Content.ComponentName * bool -> unit
override this.SetNetworkLoggingEnabled : Android.Content.ComponentName * bool -> unit

パラメーター

admin
ComponentName

この要求が関連付けられている DeviceAdminReceiver 。委任されたアプリによって呼び出された場合は null 。

enabled
Boolean

ネットワーク ログを有効にする必要があるかどうか。

属性

注釈

ネットワーク ログ機能を制御するために、デバイス所有者、マネージド プロファイルのプロファイル所有者、または #DELEGATION_NETWORK_LOGGING を使用して委任されたアプリによって呼び出されます。

Android 8 のデバイス所有者と、Android 10 のデバイス所有者によって付与された委任されたアプリでサポートされます。 管理対象プロファイルのプロファイル所有者と、Android 12 のプロファイル所有者によって付与された委任されたアプリでサポートされます。 プロファイル所有者がネットワーク ログを有効にすると、ネットワーク ログには、個人プロファイルのアクティビティではなく、仕事用プロファイルのネットワーク アクティビティのみが含まれます。

ネットワーク ログには、DNS 参照と connect() ライブラリ呼び出しイベントが含まれています。 ネットワーク ログがアクティブな間は、次のライブラリ関数が記録されます: <ul><li>getaddrinfo()</li><li>gethostbyname()</li><li>connect()</li></ul>

ネットワーク ログはフォレンジックのオーバーヘッドが少ないツールですが、完全なシステム呼び出しログを使用することは保証されていません。イベント レポートは、すべてのプロセスに対して既定で有効になっていますが、厳密には適用されません。 libc の代替実装を使用するアプリケーションからのイベント、直接カーネル呼び出しの実行、またはトラフィックの意図的な難読化は記録されない場合があります。

一部の一般的なネットワーク イベントは報告されない場合があります。 たとえば、 <ul><li>アプリケーションでは、IP アドレスをハードコードして DNS 参照の数を減らしたり、名前解決に別のシステムを使用したりして、 getaddrinfo() や gethostbyname.< を呼び出さないようにすることができます。/li><li>アプリケーションでは、パフォーマンス上の理由から、たとえばゲーム クライアントに対してデータグラム ソケットを使用する場合があります。 この種のソケットでは connect() を呼び出す必要がないため、ネットワーク イベントはトリガーされません。</li></ul>

常時接続 VPN サービスを使用して、デバイスから出るレイヤー 3 トラフィックを直接傍受することができます。 詳細については、 #setAlwaysOnVpnPackage(ComponentName, String, boolean) と android.net.VpnService を参照してください。

<strong>Note:</strong> デバイスの所有者は、機能が有効かどうかに関係なく、デバイスに関連しないセカンダリ ユーザーまたはプロファイルがある場合、ネットワーク ログを取得できません。 すべてのユーザーがアフィリエイトになるのを待っている間に内部バッファーがいっぱいになると、ログは破棄されます。 そのため、 #setAffiliationIdsを使用してプロビジョニングした後、できるだけ早く新しいユーザーに所属 ID を設定することをお勧めします。

Javaドキュメント。

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

適用対象