PrivateStorage

Struct PrivateStorage 

Source
pub struct PrivateStorage<'a, R: Runtime> { /* private fields */ }
Expand description

API of file storage intended for the app’s use only.

§Examples

fn example(app: &tauri::AppHandle) {
    use tauri_plugin_android_fs::AndroidFsExt as _;
 
    let api = app.android_fs();
    let private_storage = api.private_storage();
}

Implementations§

Source§

impl<'a, R: Runtime> SyncPrivateStorage<'a, R>

Source

pub fn resolve_path(&self, dir: PrivateDir) -> Result<PathBuf>

Get an absolute path of the app-specific directory on the internal storage.
App can fully manage entries within this directory via std::fs and etc.

This function does not create any directories; it only constructs the path.

Since these locations may contain files created by other Tauri plugins or webview systems, it is recommended to add a subdirectory with a unique name.

These entries will be deleted when the app is uninstalled and may also be deleted at the user’s initialising request.

When using PrivateDir::Cache, the system will automatically delete entries as disk space is needed elsewhere on the device. But you should not rely on this. The cache should be explicitly cleared by yourself.

The system prevents other apps and user from accessing these locations. In cases where the device is rooted or the user has special permissions, the user may be able to access this.

Since the returned paths can change when the app is moved to an adopted storage, only relative paths should be stored.

§Note

This provides a separate area for each user in a multi-user environment.

§Support

All Android version.

Source

pub fn resolve_uri( &self, dir: PrivateDir, relative_path: impl AsRef<Path>, ) -> Result<FileUri>

Source

pub fn create_new_temp_file(&self) -> Result<(File, PathBuf, FileUri)>

Creates a new temporary file and returns its file, path, and URI.
App can fully manage it via std::fs and etc.

This file remains valid until the application exits.
It will be deleted when the application starts, and may be deleted when the application exits.

§Inner

The file will be placed in the pluginAndroidFs-tempDir-01K486FKQ2BZSBGFD34RFH9FWJ directory inside PrivateStorage::resolve_path with PrivateDir::NoBackupData.
It directory will be deleted by this plugin when the application starts, and may be deleted when the application exits.

§Support

All Android version.

Source

pub fn create_new_temp_file_with_guard( &self, ) -> Result<(File, TempFileGuard, PathBuf, FileUri)>

Creates a new temporary file and returns its file, a guard that removes the file on drop, the file path, and its URI.
App can fully manage it via std::fs and etc.

This file remains valid until the application exits.
It will be deleted when the application starts, and may be deleted when the application exits.

§Inner

The file will be placed in the pluginAndroidFs-tempDir-01K486FKQ2BZSBGFD34RFH9FWJ directory inside PrivateStorage::resolve_path with PrivateDir::NoBackupData.
It directory will be deleted by this plugin when the application starts, and may be deleted when the application exits.

§Support

All Android version.

Source

pub fn remove_all_temp_files(&self) -> Result<()>

Removes all temporary files.

See PrivateStorage::create_new_temp_file.

§Support

All Android version.

Auto Trait Implementations§

§

impl<'a, R> Freeze for SyncPrivateStorage<'a, R>

§

impl<'a, R> RefUnwindSafe for SyncPrivateStorage<'a, R>

§

impl<'a, R> Send for SyncPrivateStorage<'a, R>

§

impl<'a, R> Sync for SyncPrivateStorage<'a, R>

§

impl<'a, R> Unpin for SyncPrivateStorage<'a, R>

§

impl<'a, R> UnwindSafe for SyncPrivateStorage<'a, R>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ErasedDestructor for T
where T: 'static,