2011-05-10 101 views
0

其实,我发现了很多答案,但这次我完全陷入困境。在后台工作

我的问题很简单。我正在为.pls流构建一个广播流应用程序,当用户按下主页按钮时,我希望我的应用程序继续工作。我想很多人都知道ebuddy和Skype或基本的媒体播放器。他们正在把自己放到通知栏,你可以很容易地从这个地方到达他们。我试图为我的应用创建通知,但是当我点击通知栏上的图标时,我无法访问我的应用。它直接打开我的应用程序的新版本,我无法控制流媒体,最初的工作应用程序不再存在。

回答

3

您可能需要阅读的描述为LaunchMode:http://developer.android.com/guide/topics/manifest/activity-element.html#lmode

要启动你的活动作为singleInstance

编辑:也许singleTask会更好。

这是你想要达到的工作流程: workflow http://i55.tinypic.com/xm0llx.png

所有后台工作必须由服务来完成。实现一个很简单,就像创建一个活动一样。

有关于如何做到这一点的例子很多:

+0

是的,一开始这看起来像解决方案,但是当我添加这个时,我的应用程序应该关闭(从未开始)将URL应用到应用程序。这是唯一的方法。如果我先打开它,然后尝试打开.pls文件,则应用程序不会执行任何操作。正因为如此,我认为我必须了解服务或我必须禁用HOME按钮并强制用户使用EXIT,但我不想要这样。 – Ada 2011-05-11 02:19:07

+0

@Ada这不是为了避免服务。我认为您的音乐已经通过服务进行了流式传输,并且您想要显示该应用来控制流。所有后台工作必须由服务完成。实现一个很简单,就像创建一个活动一样。有一个关于如何在这里执行的例子:http://developer.android.com/reference/android/app/Service.html。另一个例子:http://marakana.com/forums/android/examples/60.html – Aleadam 2011-05-11 02:34:13

+0

其实,我把我的媒体流媒体播放器称为线程,但我知道这是完全错误的方式。如果我理解正确的情况,我必须将我的流媒体播放器类修改为服务。我对吗? – Ada 2011-05-11 04:07:23

1

您需要的实际音乐播放部分 - 或应该继续在后台运行的部分 - 成为一项服务,并将gui作为一项活动。您所做的通知应该将您的活动gui带到flag_activity_reorder_to_front的前面。

+0

我认为这是我的问题的正确答案,但我不知道如何使用服务,实际上我尝试了一些关于它们的内容,但是我没有获得有关我的应用程序的任何信息。我会尝试了解服务和应用程序之间的连接。 – Ada 2011-05-11 02:22:06