【问题标题】:pop up message from service provider(telecom network) causing activity to pause来自服务提供商(电信网络)的弹出消息导致活动暂停
【发布时间】:2012-05-08 13:48:19
【问题描述】:

我发现来自我的服务提供商(电信网络)的弹出消息导致我的应用活动暂停。有什么办法可以防止这些消息暂停我的活动?

【问题讨论】:

  • 什么样的弹出消息?您可以显示任何代码吗?
  • LastCall 费用 0.05 INR,当前余额 86.05 INR。基本上是关于通话余额和消息余额的消息。即使没有通话,我也经常在手机上收到这些消息。我猜可能是超过 2g 的数据传输。无论如何,这样的弹出窗口可能会破坏我的应用程序/活动倒数计时器和铃声播放器。我在 onPause 停止播放器以说明用户按下主页或返回键,但现在即使出现这些弹出窗口,活动也会暂停。
  • 缺少飞行模式?如果它是通过运营商添加到平台或预加载的应用程序进入的,这些应用程序不能被最终用户删除或选择退出。最多可以将中断的后果降到最低。

标签: android android-activity android-alertdialog onpause service-provider


【解决方案1】:

我不确定您是否可以做很多事情来阻止来自服务提供商的弹出窗口。

不过,处理这种情况的最简单方法是将倒数计时器或铃声播放器切换到后台 service

现在发生的情况是,当这些弹出窗口发生时,您的服务会暂时失去焦点,并在弹出窗口关闭时重新获得焦点。在服务中实现你的计时器和其他东西可以防止这种情况发生。

编辑:

最好的方法是,使用所有按钮编写整个布局。在活动的点击中,您可以调用任何您想要的意图。同时你可以在service中将countdowntimerringtoneplayer作为static对象。

所以在活动中,当你按下开始按钮时,你可以只写 service.countdowntimer.start() ,它会从活动中启动 cdt,停止时间和铃声播放器也是如此。您只是将铃声播放器和 cdt 转移到后台并在另一个扩展服务的类中实现它。休息几乎一切都保持不变。你甚至不需要任何类型的监听器。

【讨论】:

  • 嗯,这个活动也有一个布局。服务不能有布局吗?
  • 没关系。您可以在活动布局中有一个按钮,该按钮将在服务中启动倒数计时器。这样您就可以拥有布局和活动,同时在服务中实现功能。我希望你明白了。
  • 好吧,现在我正在听 cdt 内的一些按钮。按下这些按钮时,各自的意图启动加上 cdt 与铃声一起停止,当前活动完成。我正在使用 cdt指定播放铃声和显示当前活动的最长时间。我还有 cdt 和播放器停止,启动了一个意图,这个活动在 onPause 上完成。那么对于服务我该如何做所有这些......
猜你喜欢
  • 1970-01-01
  • 2018-06-19
  • 1970-01-01
  • 1970-01-01
  • 2019-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多