好吧,我正在开发一个能够容纳IRC客户端的Android应用程序。起初我认为正确的是在服务下开发客户端,但它给了我一个相当大的工作因为我没有在android上有这么多的exp和几乎没有服务的人。 我在服务/活动/片段生命周期(即使用全部)以及特别是绑定/解除绑定服务上遇到问题,因为我需要检索仍然运行服务和接收消息的所有会话,也许是关键点,我还没有ideia如何为了保持这些会话接收消息,几乎总是导致组件有时需要一个上下文,而我不能在服务单独时调用getactivity。 现在,问题是:前一段时间我制作并且应用程序重现了一个网络电台,没有服务。活动只是播放播放器,如果用户按下后退按钮,我会覆盖:
@Override
public void onBackPressed() {
if (!playerStarted) {
super.onBackPressed();
} else {
Intent homeIntent = new Intent(Intent.ACTION_MAIN);
homeIntent.addCategory(Intent.CATEGORY_HOME);
homeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(homeIntent);
}
}
这样,当用户按下后退按钮时,设备将返回主页并且活动仍在播放背景,就像服务一样。当用户再次单击应用程序图标时,操作系统只是将活动再次置于顶部,并且它是相同的。 对我而言,它似乎比启动/绑定服务的所有复杂性以及检索所有数据的过程更容易; 所以,最后,我的问题是:如果开发我的irc客户端只是发送回家而不是让正在运行的服务会发生什么?在我的项目中,服务的真正需求是什么?
答案 0 :(得分:0)
服务是(扩展)Context。您的Radio和IRC客户端应用程序都是使用服务的主要候选者。