如何以编程方式在 Android 个应用程序之间切换

How to switch between Android apps programmatically

我想在两个 运行 Android 应用程序(一个客户端和一个服务器)之间快速切换,以进行调试。两者通过套接字连接。理想情况下,我想向两者添加一个按钮以切换到另一个(保持连接),这样我就可以轻松地看到两端发生了什么。

这是我的尝试:

终于知道怎么切换应用了 以编程方式(保留其状态)。在每个应用程序中,我使用 'getTaskId()' 获取其任务 ID 并将其保存到 /sdcard/ 上的文件中。

然后,在每个应用程序中,单击按钮时,我调用

void switchTask()
{
  int tid;
  ActivityManager am;
  am = (ActivityManager)Ctx.getSystemService( Context.ACTIVITY_SERVICE );
  tid = getPkgTaskId();  // read task id of *other* app from file
  am.moveTaskToFront( tid, 0, null );
}

注意:这些需要权限:

  • READ_EXTERNAL_STORAGE
  • WRITE_EXTERNAL_STORAGE
  • REORDER_TASKS