为什么 activity 播放声音会干扰用户界面?
Why does an activity playing a sound disturb the user interface?
我想在用户点击该通知时显示通知并播放声音。当我使用 activity 播放声音时它会以某种方式工作,正如我在自己对这个问题的回答中所写的那样:(在这个问题和答案中还有显示我如何创建的源代码通知以及我的 PlaySoundActivity
的样子。
然而,我已经意识到,在播放声音时,我的主应用程序的外观发生了变化,并且不关闭应用程序将无法恢复。
我已经从“Tabbed Activity”项目模板创建了我的应用程序。
这是启动后的样子:
这是我点击声音通知时的样子(部分消失了):
谁能解释为什么会这样?使用 activity 播放声音是错误的方法吗?但是当我使用服务时它在这里不起作用,我什么也没听到!如何解决?
根据 Android 开发人员参考,“几乎所有活动都与用户交互,因此 Activity class 负责为您创建一个 window您可以将 UI 与 setContentView(View)".
我没有这样做。因此显示了一个新的window,但是没有内容。
播放声音的更好解决方案是使用 PlaySoundService
(服务!!!)而不是 activity。它包含与 activity 几乎相同的代码,但待定意图是使用 PendingIntent.getService(...)
而不是 PendingIntent.getActivity(...)
创建的。使用错误的方法不会导致明显的错误消息,但服务将无法按预期运行。
我想在用户点击该通知时显示通知并播放声音。当我使用 activity 播放声音时它会以某种方式工作,正如我在自己对这个问题的回答中所写的那样:PlaySoundActivity
的样子。
然而,我已经意识到,在播放声音时,我的主应用程序的外观发生了变化,并且不关闭应用程序将无法恢复。
我已经从“Tabbed Activity”项目模板创建了我的应用程序。
这是启动后的样子:
这是我点击声音通知时的样子(部分消失了):
谁能解释为什么会这样?使用 activity 播放声音是错误的方法吗?但是当我使用服务时它在这里不起作用,我什么也没听到!如何解决?
根据 Android 开发人员参考,“几乎所有活动都与用户交互,因此 Activity class 负责为您创建一个 window您可以将 UI 与 setContentView(View)".
我没有这样做。因此显示了一个新的window,但是没有内容。
播放声音的更好解决方案是使用 PlaySoundService
(服务!!!)而不是 activity。它包含与 activity 几乎相同的代码,但待定意图是使用 PendingIntent.getService(...)
而不是 PendingIntent.getActivity(...)
创建的。使用错误的方法不会导致明显的错误消息,但服务将无法按预期运行。