説明
Application クラスは、AgentBay クラウド環境でアプリケーションを管理するためのメソッドを提供します。これらのメソッドには、インストールされているアプリケーションのリスト表示、アプリケーションの起動、実行中のプロセスの停止などが含まれます。
メソッド | 説明 | 環境 | ||||
ComputerUseLinux | ComputerUseWindows | BrowserUse | MobileUse | CodeSpace | ||
| インストールされているアプリケーションのリストを取得します。スタートメニューとデスクトップのショートカットによるフィルターをサポートします。システムアプリケーションは除外できます。 | サポートされていません | サポートされています | サポートされていません | サポートされています | サポートされていません |
| 表示されているウィンドウを持つすべてのアプリケーションをリスト表示します。 | サポートされていません | サポートされています | サポートされていません | サポートされていません | サポートされていません |
| 指定されたアプリケーションを起動します。作業ディレクトリの設定をサポートします。Android プラットフォームでは、Activity の指定をサポートします。 | サポートされていません | サポートされています | サポートされていません | サポートされています | サポートされていません |
| プロセス名でアプリケーションを停止します。 | サポートされていません | サポートされています | サポートされていません | サポートされていません | サポートされていません |
| プロセス ID でアプリケーションを停止します。 | サポートされていません | サポートされています | サポートされていません | サポートされていません | サポートされていません |
| コマンドでアプリケーションプロセスを停止します。 | サポートされていません | サポートされています | サポートされていません | サポートされています | サポートされていません |
プロパティ
プロパティ | 説明 |
Name | アプリケーション名。 |
StartCmd | 開始コマンド。 |
StopCmd | 停止コマンド (オプション)。 |
WorkDirectory | 作業ディレクトリ (オプション)。 |
PName | プロセス名。 |
PID | プロセス ID。 |
CmdLine | コマンドラインパラメーター (オプション)。 |
メソッド
GetInstalledApps - インストール済みアプリケーションの取得
Golang
func (am *ApplicationManager) GetInstalledApps(includeSystemApps bool, includeStoreApps bool, includeDesktopApps bool) (*InstalledAppsResult, error)パラメーター:
includeSystemApps (bool): システムアプリケーションを含めるかどうかを指定します。
includeStoreApps (bool): ストアアプリケーションを含めるかどうかを指定します。
includeDesktopApps (bool): デスクトップアプリケーションを含めるかどうかを指定します。
戻り値:
*InstalledAppsResult: インストールされているアプリケーションのリストとリクエスト ID を含む結果オブジェクト。error: 操作が失敗した場合、エラーメッセージが返されます。
InstalledAppsResult 構造体:
type InstalledAppsResult struct {
RequestID string // デバッグ用の一意のリクエスト識別子。
Apps []*InstalledApp // インストールされているアプリケーションの配列。
}
type InstalledApp struct {
Name string // アプリケーション名。
Path string // アプリケーションのパス。
Version string // アプリケーションのバージョン。
Description string // アプリケーションの説明。
}Python
def get_installed_apps(
self,
include_system_apps: bool = True,
include_store_apps: bool = False,
include_desktop_apps: bool = True
) -> List[InstalledApp]:パラメーター:
include_system_apps (bool, optional): システムアプリケーションを含めるかどうかを指定します。デフォルトは
Trueです。include_store_apps (bool, optional): ストアアプリケーションを含めるかどうかを指定します。デフォルトは
Falseです。include_desktop_apps (bool, optional): デスクトップアプリケーションを含めるかどうかを指定します。デフォルトは
Trueです。
戻り値:
List[InstalledApp]: インストールされているアプリケーションのリスト。
例外:
ApplicationError: インストールされているアプリケーションのリストの取得に失敗した場合に発生します。
TypeScript
async getInstalledApps(
includeSystemApps: boolean = true,
includeStoreApps: boolean = false,
includeDesktopApps: boolean = true
): Promise<InstalledApp[]>パラメーター:
includeSystemApps (boolean, optional): システムアプリケーションを含めるかどうかを指定します。デフォルトは
trueです。includeStoreApps (boolean, optional): ストアアプリケーションを含めるかどうかを指定します。デフォルトは
falseです。includeDesktopApps (boolean, optional): デスクトップアプリケーションを含めるかどうかを指定します。デフォルトは
trueです。
戻り値:
Promise<InstalledApp[]>: インストールされているアプリケーションのリストに解決される Promise。
例外:
APIError: インストールされているアプリケーションのリストの取得に失敗した場合にスローされます。
StartApp - アプリケーションの起動
Golang
func (am *ApplicationManager) StartApp(startCmd string, workDirectory string) (string, error)パラメーター:
startCmd (string): アプリケーションを起動するコマンド。
workDirectory (string): アプリケーションの作業ディレクトリ。
戻り値:
string: 起動したプロセスのリストを含む JSON 文字列。error: 操作が失敗した場合、エラーメッセージが返されます。
Python
def start_app(self, start_cmd: str, work_directory: str = "") -> List[Process]:パラメーター:
start_cmd (str): アプリケーションを起動するコマンド。
work_directory (str, optional): アプリケーションの作業ディレクトリ。デフォルトは空の文字列です。
戻り値:
List[Process]: 起動したプロセスのリスト。
例外:
ApplicationError: アプリケーションの起動に失敗した場合に発生します。
TypeScript
async startApp(startCmd: string, workDirectory: string = ""): Promise<Process[]>パラメーター:
startCmd (string): アプリケーションを起動するコマンド。
workDirectory (string, optional): アプリケーションの作業ディレクトリ。デフォルトは空の文字列です。
戻り値:
Promise<Process[]>: 起動したプロセスのリストに解決される Promise。
例外:
APIError: アプリケーションの起動に失敗した場合にスローされます。
StopAppByPName - プロセス名によるアプリケーションの停止
Golang
func (am *ApplicationManager) StopAppByPName(pname string) (string, error)パラメーター:
pname (string): 停止するプロセスの名前。
戻り値:
string: 操作が成功したことを示すメッセージ。error: 操作が失敗した場合、エラーメッセージが返されます。
Python
def stop_app_by_pname(self, pname: str) -> bool:パラメーター:
pname (str): 停止するプロセスの名前。
戻り値:
bool: 操作が成功した場合はTrueを返します。それ以外の場合はFalseを返します。
例外:
ApplicationError: アプリケーションの停止に失敗した場合に発生します。
TypeScript
async stopAppByPName(pname: string): Promise<boolean>パラメーター:
pname (string): 停止するプロセスの名前。
戻り値:
Promise<boolean>: 操作が成功した場合はtrueに、それ以外の場合はfalseに解決される Promise。
例外:
APIError: アプリケーションの停止に失敗した場合にスローされます。
StopAppByPID - プロセス ID によるアプリケーションの停止
Golang
func (am *ApplicationManager) StopAppByPID(pid int) (string, error)パラメーター:
pid (int): 停止するプロセスの ID。
戻り値:
string: 操作が成功したことを示すメッセージ。error: 操作が失敗した場合、エラーメッセージが返されます。
Python
def stop_app_by_pid(self, pid: int) -> bool:パラメーター:
pid (int): 停止するプロセスの ID。
戻り値:
bool: 操作が成功した場合はTrueを返します。それ以外の場合はFalseを返します。
例外:
ApplicationError: アプリケーションの停止に失敗した場合に発生します。
TypeScript
async stopAppByPid(pid: number): Promise<boolean>パラメーター:
pid (number): 停止するプロセスの ID。
戻り値:
Promise<boolean>: 操作が成功した場合はtrueに、それ以外の場合はfalseに解決される Promise。
例外:
APIError: アプリケーションの停止に失敗した場合にスローされます。
StopAppByCmd - 停止コマンドによるアプリケーションの停止
Golang
func (am *ApplicationManager) StopAppByCmd(stopCmd string) (string, error)パラメーター:
stopCmd (string): アプリケーションの停止に使用されるコマンド。
戻り値:
string: 操作が成功したことを示すメッセージ。error: 操作が失敗した場合、エラーメッセージが返されます。
Python
def stop_app_by_cmd(self, stop_cmd: str) -> bool:パラメーター:
stop_cmd (str): アプリケーションの停止に使用されるコマンド。
戻り値:
bool: 操作が成功した場合はTrueを返します。それ以外の場合はFalseを返します。
例外:
ApplicationError: アプリケーションの停止に失敗した場合に発生します。
TypeScript
async stopAppByCmd(stopCmd: string): Promise<boolean>パラメーター:
stopCmd (string): アプリケーションの停止に使用されるコマンド。
戻り値:
Promise<boolean>: 操作が成功した場合はtrueに、それ以外の場合はfalseに解決される Promise。
例外:
APIError: アプリケーションの停止に失敗した場合にスローされます。
ListVisibleApps - 表示されているアプリケーションのリスト表示
Golang
func (am *ApplicationManager) ListVisibleApps() (*VisibleAppsResult, error)戻り値:
*VisibleAppsResult: 表示されているプロセスのリストとリクエスト ID を含む結果オブジェクト。error: 操作が失敗した場合、エラーメッセージが返されます。
VisibleAppsResult 構造体:
type VisibleAppsResult struct {
RequestID string // デバッグ用の一意のリクエスト識別子。
Processes []*Process // 表示されているプロセスの配列。
}
type Process struct {
PName string // プロセス名。
PID int // プロセス ID。
}Python
def list_visible_apps(self) -> List[Process]:戻り値:
List[Process]: 表示されているプロセスのリスト。
例外:
ApplicationError: 表示されているアプリケーションのリスト表示に失敗した場合に発生します。
TypeScript
async listVisibleApps(): Promise<Process[]>戻り値:
Promise<Process[]>: 表示されているプロセスのリストに解決される Promise。
例外:
APIError: 表示されているアプリケーションのリスト表示に失敗した場合にスローされます。
アプリケーション管理の例
Golang
package main
import (
"fmt"
"log"
)
func main() {
// セッションを作成
agentBay := agentbay.NewAgentBay("your-api-key")
sessionResult, err := agentBay.Create(nil)
if err != nil {
log.Fatal(err)
}
session := sessionResult.Session
// インストール済みアプリケーションを取得
appsResult, err := session.Application.GetInstalledApps(true, false, true)
if err != nil {
log.Printf("インストール済みアプリケーションの取得エラー: %v", err)
} else {
for _, app := range appsResult.Apps {
fmt.Printf("アプリケーション: %s\n", app.Name)
}
}
// アプリケーションを起動
processesResult, err := session.Application.StartApp("/usr/bin/google-chrome-stable", "")
if err != nil {
log.Printf("アプリケーションの起動エラー: %v", err)
} else {
var processes []Process
_ = json.Unmarshal([]byte(processesResult), &processes)
for _, process := range processes {
fmt.Printf("起動したプロセス: %s (PID: %d)\n", process.PName, process.PID)
}
}
// 表示されているアプリケーションをリスト表示
visibleResult, err := session.Application.ListVisibleApps()
if err != nil {
log.Printf("表示されているアプリケーションのリスト表示エラー: %v", err)
} else {
for _, app := range visibleResult.Processes {
fmt.Printf("表示されているアプリケーション: %s (PID: %d)\n", app.PName, app.PID)
}
}
// PID でアプリケーションを停止
if len(processes) > 0 {
success, err := session.Application.StopAppByPID(processes[0].PID)
if err != nil {
log.Printf("アプリケーションの停止エラー: %v", err)
} else {
fmt.Printf("アプリケーションが停止しました: %s\n", success)
}
}
}TypeScript
import { AgentBay } from 'wuying-agentbay-sdk';
// SDK を初期化
const agentBay = new AgentBay({ apiKey: 'your_api_key' });
// インストール済みアプリケーションを取得
async function getApplications() {
try {
const apps = await agentBay.application.getInstalledApps();
console.log(`見つかったアプリケーション: ${apps.length}`);
apps.forEach(app => {
console.log(`名前: ${app.name}, 開始コマンド: ${app.start_cmd}`);
});
} catch (error) {
console.error('アプリケーションの取得エラー:', error);
}
}
// アプリケーションを起動
async function startApplication() {
try {
const processes = await agentBay.application.startApp('/usr/bin/google-chrome-stable');
console.log(`起動したプロセス: ${processes.length}`);
processes.forEach(p => {
console.log(`プロセス名: ${p.pname}, PID: ${p.pid}`);
});
} catch (error) {
console.error('アプリケーションの起動エラー:', error);
}
}
// PID でアプリケーションを停止
async function stopApplicationByPID() {
try {
const success = await agentBay.application.stopAppByPid(12345);
if (success) {
console.log('アプリケーションは正常に停止しました。');
} else {
console.log('アプリケーションの停止に失敗しました。');
}
} catch (error) {
console.error('アプリケーションの停止エラー:', error);
}
}
// 表示されているアプリケーションをリスト表示
async function listVisibleApplications() {
try {
const visibleApps = await agentBay.application.listVisibleApps();
console.log(`表示されているアプリケーション: ${visibleApps.length}`);
visibleApps.forEach(app => {
console.log(`名前: ${app.pname}, PID: ${app.pid}`);
});
} catch (error) {
console.error('表示されているアプリケーションのリスト表示エラー:', error);
}
}