Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Methods](https://developer.android.com/reference/android/security/FileIntegrityManager#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/security/FileIntegrityManager#inhmethods)

# FileIntegrityManager

*** ** * ** ***

` public final class FileIntegrityManager `   
` extends https://developer.android.com/reference/java/lang/Object ` ` `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.security.FileIntegrityManager |

<br />

*** ** * ** ***

This class provides access to file integrity related operations.   

Restricted for SDK Runtime environment in API level 34.

## Summary

| ### Public methods ||
|---|---|
| ` boolean` | ` https://developer.android.com/reference/android/security/FileIntegrityManager#isApkVeritySupported()() ` Returns whether fs-verity is supported on the device. |
| ` boolean` | ` https://developer.android.com/reference/android/security/FileIntegrityManager#isAppSourceCertificateTrusted(java.security.cert.X509Certificate)(https://developer.android.com/reference/java/security/cert/X509Certificate certificate) ` *This method was deprecated in API level 35. The feature is no longer supported, and this API now always returns false.* |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.

## Public methods

### isApkVeritySupported

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isApkVeritySupported ()
```

Returns whether fs-verity is supported on the device. fs-verity provides on-access verification, although the app APIs are only made available to apps in a later SDK version. Only when this method returns true, the other fs-verity APIs in the same class can succeed.

The app may not need this method and just call the other APIs normally and handle any failure. If some app feature really depends on fs-verity (e.g. protecting integrity of a large file download), an early check of support status may avoid any cost if it is to fail late.

Note: for historical reasons this is named `isApkVeritySupported()` instead of `isFsVeritySupported()`. It has also been available since API level 30, predating the other fs-verity APIs.

<br />

| Returns ||
|---|---|
| `boolean` | <br /> |

### isAppSourceCertificateTrusted

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)   
Deprecated in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isAppSourceCertificateTrusted (X509Certificate certificate)
```

<br />

**This method was deprecated in API level 35.**   

The feature is no longer supported, and this API now always returns false.

Returns whether the given certificate can be used to prove app's install source. Always return false if the feature is not supported.

A store can use this API to decide if a signature file needs to be downloaded. Also, if a store has shipped different certificates before (e.g. with stronger and weaker key), it can also use this API to download the best signature on the running device.   

Requires `https://developer.android.com/reference/android/Manifest.permission#INSTALL_PACKAGES` or `https://developer.android.com/reference/android/Manifest.permission#REQUEST_INSTALL_PACKAGES`

<br />

| Parameters ||
|---|---|
| `certificate` | `X509Certificate`: This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `boolean` | whether the certificate is trusted in the system <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/security/cert/CertificateEncodingException` |   |