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

不要恐慌

我想在两个正在运行的 Android 应用程序(客户端和服务器)之间快速切换,以进行调试。两者通过套接字连接进行连接。理想情况下,我想为两者添加一个按钮以切换到另一个(保留连接),以便我可以轻松查看两端的情况。

这是我尝试过的:

  • 使用“最近的应用程序”按钮
    这工作正常,但有点尴尬,尤其是在堆栈很大的情况下。

  • 使用分屏
    这也很好用,但小屏幕有问题

  • 尝试过第三方应用程序切换器,但不喜欢这些。

  • 按包名称尝试 startActivity(单击按钮)
    这将是我的首选解决方案,但有问题。Switched Ok 但每次创建新任务时,启动并推送到堆栈上(不保留连接)。代码如下:

    void switchToClient()       // from Server (on Button click)
    {
        // Alternative Flags Tried: none, FLAG_ACTIVITY_SINGLE_TOP, FLAG_ACTIVITY_NEW_TASK, other
        Intent intent;
        intent = this.getPackageManager().getLaunchIntentForPackage( "com.example.Client" );
        intent.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
        startActivity( intent );
    }  
    
不要恐慌

我终于想出了如何以编程方式在应用程序之间切换(保持它们的状态)。在每个应用程序中,我使用“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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何以编程方式在Android应用之间切换[已解决]

如何以编程方式使Android应用程序崩溃?

如何以编程方式在Android应用中打开Google课堂

如何以编程方式在Android应用中实现点击?

如何以编程方式获取完整的android应用UID?

在应用程序之间切换的快捷方式

如何以编程方式退出Android应用程序然后重新打开它?

如何以编程方式在Android 10中重新启动应用程序?

如何以编程方式获取特定Android应用程序的uri?

如何以编程方式在主屏幕应用程序图标android中设置徽章编号?

如何以编程方式检查Android中是否安装了应用程序?

如何以编程方式强制使用Java停止Android应用程序?

如何以编程方式获取在Android应用程序上花费的时间

如何以编程方式删除/清除android中应用程序的隐藏数据?

切换Instagram等活动时,如何固定android应用程序的底部

启动E4应用程序后如何以编程方式切换透视图?

如何以编程方式在Android中创建另一个应用程序的快捷方式?

如何以编程方式在 android 上安装的应用程序中显示特定应用程序的图标?

如何以编程方式将我的应用程序设置为 android 中的联系人默认应用程序

如何以编程方式在android Lollipop中切换系统(受限用户)Pofile?

如果我不知道程序包名称,如何以编程方式打开应用程序android

我们如何以编程方式或通过cmd切换到某些应用程序

如何以编程方式获取运行Android 7.0的设备中已安装的浏览器应用程序的列表?

如何以编程方式在托管配置文件(Android 5.0)中启用非市场应用程序

如何以编程方式确定Android应用程序是否已在Samsung Galaxy上进入睡眠状态?

Windows快捷方式/实用程序,可在应用程序窗口之间切换

在固定方向的中间应用程序之间切换-Android,AndEngine

如何以编程方式切换UIsegmentedControll?

如何以编程方式切换屏幕?