Android - 使用AudioManager时很有用

时间:2014-09-15 11:17:23

标签: android android-audiomanager

我最近遇到了一些让我脱掉一半头发的东西。

我试图访问audioManager并设置这样的新模式:

mAudioManager.setMode(AudioManager.MODE_NORMAL);

由于某些原因,在那个时候,我不明白audioManager拒绝设置新模式。

经过一个小时的调试并尝试了我袖子里的所有内容后,我发现我从我应用程序的其他部分访问音频管理器,但是使用了Activity上下文,而没有使用Application上下文,是我以前用过的。

在获取AudioManager时,您似乎偷了"它可以从分配给它的其他上下文访问新的Context。

你会在答案中找到解决办法。

如果您认为这有帮助,请考虑投票给这位激励我的this

1 个答案:

答案 0 :(得分:0)

好吧,为了获得AudioManager,你需要一个Context。那样:

AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);

确保您始终传递相同的上下文。

在我的情况下,我曾尝试同时使用应用程序和Activity上下文,因此实现这一点的一种方法是调用Activity中的应用程序(或者其他任何内容),如下所示:

AudioManager am = (AudioManager) getApplication().getSystemService(getApplication().AUDIO_SERVICE);

希望我能为这片海洋中的一些失落的人们提供帮助。