焊线 发表于 2015-5-12 21:09:11

应用程序管理器Manager:应用程序的信息

相关信息
[*]应用程序管理器指南
[*]应用程序管理器API

本教程演示了如何获得信息的应用程序。
热身熟悉应用程序管理器API通过学习基本知识:
检索应用程序上下文和操作。


[*]管理应用程序上下文
获取正在运行的应用程序上下文及其细节,和操作的上下文:
[*]使用的函数和数据类型 应用程序管理器Manager API,包括 < app_manager.h > 头文件在您的应用程序:
#include <app_manager.h>
2.得到当前运行的应用程序的上下文中。当应用程序没有运行,让它的上下文是不可能的。调用 app_manager_get_app_context () 功能与应用程序的ID,您需要获得,和上下文处理指针( app_context_h* ),这将被设置为应用程序的上下文:int ret;
app_context_h app_context = NULL;
char *my_app_id = NULL;
app_get_id(&my_app_id);
ret = app_manager_get_app_context(my_app_id, &app_context);
free(my_app_id);这个例子得到您的应用程序的上下文中。 如果函数返回 APP_MANAGER_ERROR_NONE ,它有正确执行和app_context 变量现在包含您的应用程序的上下文的句柄。 为了防止内存泄漏,释放 app_context 与app_context_destroy () 工作完成后的函数。

3.操作环境:

[*]获得的应用程序ID和应用程序进程ID上下文:
char *app_id;
int pid = 0;

ret = app_context_get_app_id(app_context, &app_id);
ret = app_context_get_pid(app_context, &pid);

[*]当 app_id 不再需要,释放它使用吗 free () 功能。
[*]检查应用程序是否与给定的应用程序上下文终止:
bool terminated = false;

ret = app_context_is_terminated(app_context, &terminated);

if (false == terminated)
{
   // Application is running
}
else
{
   // Application is terminated
}
复制上下文处理:app_context_h app_context_cloned = NULL;

ret = app_context_clone(&app_context_cloned, app_context);检查是否两个上下文是平等的:
bool equal = false;

ret = app_context_is_equal(app_context, app_context_cloned, &equal);

if (equal)
{
   // Contexts are equal
}
else
{
   // Contexts are not equal
}
4.在处理应用程序上下文完成后,调用 app_context_destroy () 函数删除处理和释放所有资源:
if (app_context)
{
   ret = app_context_destroy(app_context);
   if (APP_MANAGER_ERROR_NONE != ret) // Error occurred
      app_context = NULL;
}
页: [1]
查看完整版本: 应用程序管理器Manager:应用程序的信息