2017-10-06 63 views
1

我想,以防止用户关闭我的应用程序时,它是“记录”的活动(此活动是远足,骑自行车(防止用户关闭它) ,运行等)。锁定最近的应用程序屏幕上的应用程序时,某些功能正在运行

如果我开始录制然后转到另一个应用程序,然后点击手机上的“最近的应用程序”按钮,然后点击“关闭所有”或将我的应用程序从屏幕上滑开,它会破坏它并且录制内容会丢失。

我显然不希望以防止关闭这一切的时候,只有当他们开始录制的用户,然后让他们再次关闭时,他们已经停止。

我知道这种行为是可以做到完全像我想是因为RD客户端我用我的Android设备不正是这...这不会让我关闭它,而我连接到远程机器,但那么一旦断开连接,我的确可以关闭它。

我已经搜查高和低,只能发现在关闭时如何编程从最近的应用程序列表中删除一个应用程序的信息。

任何建议将不胜感激。

+0

而不是阻止你的应用程序在录制时关闭,你可以设置当调用onStop时,将记录保存在数据库中(sqlite或realm),然后关闭应用程序。这样,当用户重新打开应用程序时,可以从数据库中检索记录。 – chornge

+0

我已经将它保存到数据库中。我试图解决的问题会发生在用户最小化应用程序或打开另一个应用程序,然后通过转到最近的应用程序并关闭所有或关闭应用程序而无意中关闭了我的应用程序。我总是习惯于这种习惯。我希望它继续记录活动,直到他们主动决定停止录制(通过点击应用程序中的按钮) –

+0

我已经添加了答案,我希望你找到它有用 – chornge

回答

0

你要寻找的是Screen Pinning。它在Android API 21+中可用,它可以让你临时限制用户离开任务或被通知中断。它包含一种名为startLockTask的方法。该documentation为startLockTask说:

...把​​这个活动在用户被锁定于当前任务的模式。这将阻止用户启动其他应用程序,进入设置或到达主屏幕。


当任务锁定处于活动状态,以下行为发生:

  • 状态栏是空白的,和用户通知和状态信息被隐藏。
  • 隐藏Home和Recent Apps按钮。
  • 其他应用程序无法启动新活动。
  • 当前的应用程序可以开始新的活动,只要这样做不会创建新的任务。
  • 当设备所有者调用屏幕锁定时,用户会一直锁定到您的应用程序,直到应用程序调用stopLockTask()。
  • 如果固定屏幕是由另一个应用程序,不是器件拥有者,或者直接由用户活动时,用户可以通过握住背部和最近的按钮退出。

用户将无法退出此模式,直到stopLockTask()被称为 - 这是完美的,因为你只希望他们能时,他们已经停止录制退出。

+0

这不是我正在寻找的东西。我希望用户在录制过程中能够在手机上做其他事情(例如,查看短信或在Chrome浏览器上查看内容),但我不想让他们在完成此操作后关闭我的应用。正如我在OP中所说的,这种确切的行为存在于其他应用程序中。 –

+0

你是什么意思的“录音”,它是录制的视频或音频?或者,它是加速度计/运动/传感器数据的记录吗? – chornge

+0

在这种情况下,“录音”是我自己的应用程序的行为。它使用位置服务来跟踪用户的移动,在谷歌地图上创建折线,将位置更改保存到数据库中....因此,从这个意义上来说,“录制”是我自己的命名法,用于我的应用程序的用途:录制活动以供日后审阅或上传到云端等。 –

相关问题