android是可以在后台运行服务,直到我们停止它

时间:2011-11-08 10:42:05

标签: android service

在我的应用程序中,用户登录注销事项就在那里。 我希望一旦用户登录意味着它将从服务器获得更新,如消息形式。

服务器每隔10秒发送一条新消息。 我希望每个登录的用户都可以从服务器逐一获取服务器的所有更新信息。

当用户单击登录按钮时,服务将启动。和注销意味着服务将停止。

我确实喜欢这个

public class MessageService extends Service {

    public String currentMessage="";

    @Override
    public IBinder onBind(Intent arg0) {
        return null;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        Toast.makeText(this,"Service created ...", Toast.LENGTH_LONG).show();
        checkForCurrentTimestamp();

    }


    private void checkForCurrentTimestamp() {
        //check TimeSatmp with Server TimeStamp
        //if(!same)
        //currentMessage= get message stored in server

    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        Toast.makeText(this, "Service destroyed ...", Toast.LENGTH_LONG).show();
    }
}

并在我的LoginActivity的loginButton中单击我写入启动服务并logoutButton单击它停止服务。

它是否会逐个更新所有邮件给每个用户,直到他们退出?

这是写作方式吗?

1 个答案:

答案 0 :(得分:0)

这将在每次登录时启动新的服务实例,这将显着增加电池消耗和衰减性能。所以实现onBind,这样你就可以使用BindService,这样返回的IBinder就可以为其用户处理来自服务器的消息。