【问题标题】:On Finish activity in Android在 Android 中完成活动
【发布时间】:2018-04-01 03:42:36
【问题描述】:

我正在尝试将 Tapresearch 调查集成到我的 Android 应用程序中。该公司提供SDK。 SDK 提供了使用事件监听器的能力。其中一个侦听器不起作用,即 onSurveyModalClosed()` 通常应用程序会在该处恢复运行。除此之外,所有其他侦听器都可以正常工作。 当 Tapresearch 打开调查时,它会运行此活动:com.tapr.internal.activities.survey.SurveyActivity。

有没有办法在不使用监听器onSurveyModalClosed()的情况下检查这个活动是否已经完成?

【问题讨论】:

  • 我可以看看你的代码吗?就像你把这个放在哪里 - onSurveyModalClosed() ??
  • @AsutoshPanda 这里是 sdk 文档。我从这里复制了代码 > tapresearch.com/docs/android-integration-guide
  • @Fat-Bee 嘿,您能抽出一些时间告诉我这个 Tapresearch 调查 的表现,实际上我正在考虑将它集成到我的应用程序中,以便您的审查会有所帮助
  • @NikhilKumar 当您开始集成 Tapresearch 调查时,您只能使用测试调查,直到您的应用在商店上线,然后它们才允许您使用真实调查.目前我仍在使用测试模式。您可以在此处下载演示应用程序并运行它以查看它的情况 github.com/TapResearch/Android-Integration-Demo 。只需在 Tapresearch 调查 的网站上注册,即可获取 TAPRSEARCH_API_TOKEN 和 USER_IDENTIFIER,即您的测试设备的 GAID。
  • @Fat-Bee 非常感谢您的宝贵时间和出色的回答。好的,我会顺便检查一下它是否比广告服务更有效

标签: android android-activity sdk


【解决方案1】:

对于您的问题,“有没有办法在不使用侦听器的情况下检查此活动是否已完成”,是的,有办法。

只需在这两种方法中添加一条日志消息即可。并查看在控制台中打印了哪些日志消息,或者先打印了哪些日志消息,并采取相应的措施。

@Override
public void onSurveyModalClosed() {
   //Survey isn't visible resume app
   Log.i("Sequence_of_execution", "SurveyModalClosed");
}

@Override
protected void onStop() {
   super.onStop();
   // Your code goes here
   Log.i("Sequence_of_execution", "ActivityStopped");
}

我猜 onSurveyModalClosed() 在您通过采取任何操作手动关闭调查时调用,而不是在 Activity 停止时调用。

对于您在 cmets 中检查您是否从 SurveyActivity 到 MainActivity 的问题,请执行此操作,因为您无法控制 SurveyActivity-

  1. 在 MainActivity 中声明一个名为“SurveyActivityStarted”的共享首选项变量并将其设置为 false。
  2. 从 MainActivity 启动 SurveyActivity 时,将“SurveyActivityStarted”设置为 true。
  3. 在 MainActivity 的 onResume 上检查“SurveyActivityStarted”是否为真,如果它来自于 SurveyActivity。
  4. 在 MainActivity 中将“SurveyActivityStarted”重新初始化为 false,以备将来使用。

【讨论】:

  • 感谢您的解释。是的,我知道这一点,但我该如何解决这个问题?
  • 尝试应用我更新的答案并告诉我您在控制台中收到的日志消息。
  • 感谢您的解释。打印的唯一消息是“ActivityStopped”。我在想是否有办法检查 OnResume 是否从此活动 com.tapr.internal.activities.survey.SurveyActivity 发生?
  • 因此,如果 Mainactivity 中的 OnResume 发生在此活动 com.tapr.internal.activities.survey.SurveyActivity 中,那么我将完成剩下的工作
  • 他们的网站缺乏良好的文档,我猜 onSurveyModalClosed() 在您通过采取任何操作手动关闭调查时调用,而不是在活动停止时调用。当 onSurveyModalClosed() 被调用时,你实际上可以提出一张票来询问他们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-04
  • 1970-01-01
  • 1970-01-01
  • 2015-01-10
  • 2011-06-13
  • 2012-03-22
  • 1970-01-01
相关资源
最近更新 更多