Перейти к основному содержимому

App API


Описание.

IDroidAppAPI App

Предоставляет доступ к управлению приложениями на устройстве. С помощью этого интерфейса можно устанавливать, удалять, открывать и закрывать приложения, а также выполнять другие действия с приложениями.

Данным методам часто требуется передача параметра packageName — имени приложения, что помогает идентифицировать и управлять нужным приложением. Для поиска нужного имени можно использовать инструмент Установленные приложения.

Повторяет логику работы кубика Действия с приложением для версий Lite/Pro и Enterprise.


Свойства.

  • Имя открытого приложения.
string Top { get; }
  • Уникальный идентификатор текущего процесса Android.
uint TopPid { get; }

Примеры:

var app = instance.DroidInstance.App;

string top = app.Top;
uint TopPid = app.TopPid;

Методы.

Открывает приложение.

void Open(string packageName)  

Параметры:

string packageName // Имя приложения, для работы метода.

Перегрузка:

string activityName  // Активити приложения, для запуска.  

Пример.

//#1
var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
app.Open(packageName); // Открыть приложение

//#2
var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
var activity = ".MainActivity"; // Активити хрома.(Не рабочий пример!)
app.Open(packageName, activity); // Открыть приложение

Открывает приложение с нужным URL.

void OpenUrl(string url, string packageName)  

Параметры:

string url  // URL для запуска.
string packageName // Имя приложения, для работы метода.

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
var url = "http://ya.ru";
app.OpenUrl(url, packageName); // Открыть Chrome и зайти на сайт ya.ru

Закрывает выбранное приложение.

void Close(string packageName)  

Параметры:

string packageName // Имя приложения, для работы метода.

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
app.Close(packageName); // Закрыть приложение

Закрывает все приложения.

void CloseAll()  

Пример.

var app = instance.DroidInstance.App;

app.CloseAll(); // Закрыть все приложения

Очищает данные приложения.

void Clean(string packageName)  

Получаем чистое приложение, как после установки.

Параметры:

string packageName // Имя приложения, для работы метода.

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
app.Clean(packageName); // Очистить данные приложения

Очищает кэш приложения.

void CleanCache(string packageName)  

Параметры:

string packageName // Имя приложения, для работы метода.

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
app.CleanCache(packageName); // Очистить кэш приложения

Устанавливает приложение через APK.

void InstallApk(string path)  

Параметры:

string path // Путь к APK файлу.

Пример.

var app = instance.DroidInstance.App;

var pathApk = @"\chrome.apk"; // Путь приложения
app.InstallApk(pathApk); // Установить приложение

Проверяет, установлено ли приложение.

bool IsInstalled(string packageName)  

Параметры:

string packageName // Имя приложения, для работы метода.

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
var isApk = app.IsInstalled(packageName); // Проверка установлено ли приложение

if (!isApk) // Если нет, то установим
{
var pathApk = @"\chrome.apk"; // Путь приложения
app.InstallApk(pathApk); // Установить приложение
}

Удаляет приложение.

void Delete(string packageName)  

Параметры:

string packageName // Имя приложения, для работы метода.

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
app.Delete(packageName); // Удалить приложение

Получает UID приложения.

string Uid(string packageName)  

Параметры:

string packageName // Имя приложения, для работы метода.

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
var uid = app.Uid(packageName); // Получить uid приложения

Получает директорию хранения данных приложения.

string DataDir(string packageName)  

Параметры:

string packageName // Имя приложения, для работы метода.

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
var directory = app.DataDir(packageName); // Получить директорию хранения данных приложения.

Получает массив всех приложений на устройстве.

string[] GetListPackages()  

Пример.

var app = instance.DroidInstance.App;

var packages = app.GetListPackages(); // Получить массив всех установленных приложений

Получает массив всех системных приложений на устройстве.

string[] GetListSystemPackages()  

Пример.

var app = instance.DroidInstance.App;

var packages = app.GetListSystemPackages(); // Получить массив всех системных приложений

Получает массив всех пользовательских приложений на устройстве.

string[] GetListUserPackages()  

Пример.

var app = instance.DroidInstance.App;

var packages = app.GetListUserPackages(); // Получить массив всех пользовательских приложений

Получает все уведомления (в формате JSON).

string GetAllNotifications()  

Пример.

var app = instance.DroidInstance.App;

var json = app.GetAllNotifications(); // Получить все уведомления
project.Json.FromString(json); // Обработать Json

Получает уведомления только выбранного приложения (в формате JSON).

string GetAppNotifications(string packageName)  

Параметры:

string packageName // Имя приложения, для работы метода.

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
var json = app.GetAppNotifications(packageName); // Получить все уведомления
project.Json.FromString(json); // Обработать Json

Очищает все полученные уведомления.

void ClearAllNotifications()  

Пример.

var app = instance.DroidInstance.App;

app.ClearAllNotifications(); // Очистить все уведомления

Очищает уведомления только выбранного приложения.

void ClearAppNotifications(string packageName)  

Параметры:

string packageName // Имя приложения, для работы метода.

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
app.ClearAppNotifications(packageName); // Очистить уведомления приложения

Делает резервную копию данных выбранного приложения.

void BackupAppData(string packageName, string pathToBackup)  

Параметры:

string packageName // Имя приложения, для работы метода.
string pathToBackup // Путь для сохранения копии.

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
var pathSave = @"/dir/bakups/name_bakup"; // Путь куда сохранить бэкап
app.BackupAppData(packageName, pathSave); // Сделать бэкап

Восстанавливает данные приложения из резервной копии.

void RestoreAppData(string packageName, string pathToBackup)  

Параметры:

string packageName // Имя приложения, для работы метода.
string pathToBackup // Путь к резервной копии.

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
var pathLoad = @"/dir/bakups/name_bakup"; // Путь хранения бэкапа
app.RestoreAppData(packageName, pathLoad); // Загрузить бэкап

Получает куки приложения.

string GetCookie(string packageName)  

Параметры:

string packageName // Имя приложения, для работы метода.

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
var cookies = app.GetCookie(packageName); // Получить куки приложения

Получает путь, по которому хранятся куки приложения.

string GetCookiePath(string packageName)  

Параметры:

string packageName // Имя приложения, для работы метода.

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
var pathCookie = app.GetCookiePath(packageName); // Получить путь хранения куки

Получает путь, по которому хранятся куки приложения.

string GetCookiePath(string packageName)  

Параметры:

string packageName // Имя приложения, для работы метода.

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
var pathCookie = app.GetCookiePath(packageName); // Получить путь хранения куки

Удалить аккаунт.

bool RemoveAccount(string name, string type)  

Параметры:

string name // Имя аккаунта.
string type // Тип аккаунта.
Часто аккаунт хранится не в самом приложении, а в менеджере аккаунтов.

Например, у приложений Яндекс Go, Яндекс Почта и Яндекс Музыка общая система авторизации. Поэтому при удалении одного из приложений у двух других всё равно останется доступ к аккаунту.

В таких случаях нужно достать аккаунты из приложения и принудительно их.

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
var pathCookie = app.GetCookiePath(packageName); // Получить путь хранения куки

Получает все аккаунты приложения (в формате JSON).

string GetAccounts(string packageName) 

Параметры:

string packageName // Имя приложения, для работы метода.

Перегрузка:

string type  // Тип аккаунта.  

Пример.

var app = instance.DroidInstance.App;

var packageName = "com.google.chrome"; // Имя приложения
var json = app.GetAccounts(packageName); // Получить аккаунты приложения