何时让服务器知道用户联机或脱机



我正在设计一个应用程序,它需要知道哪些用户在线或离线。每个用户都可以通知服务器他是在线还是离线,然后我可以从服务器获取该信息。

问题是 android 中是否有一个标准将用户标记为在线或离线。

一种解决方案是,如果应用正在运行,则用户处于联机状态,

如果应用强制停止或未运行,则用户处于脱机状态。那么在我的应用程序中,我如何知道应用程序正在停止?

如果上述方法不可能或不是好的解决方案,那么我的应用程序何时会告诉服务器它正在脱机。

提前谢谢。

在Android中,没有"离开应用程序"的硬性概念。应用程序可以通过按 home 推送到堆栈上,在后台仍然处于活动状态,或者被另一个应用程序从顶部推开。没有真正的钩子可以用来说"好吧,我现在真的要下去了,我应该通知服务器"。

所以,你可以反过来:服务器向用户授予保释金,比如说500万,客户端应用程序必须更新它。在 5 分钟不活动后,服务器可以知道用户正在脱机。

当然,延迟将是服务器端所需的精度/响应能力需求与电池使用之间的权衡,因为这往往会通过不断通知服务器客户端仍在线来缩短电池寿命。

在 Android 中创建应用程序时,当应用程序被强制关闭时,应用程序类是调用的

,当应用程序被强制关闭时,Terminate() 方法是调用。

如果要在创建和终止应用程序时执行某些操作,则需要通过扩展应用程序类来创建自定义应用程序类。

1) 像这样创建自己的应用程序类

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
                // When application creates
    }
    @Override
    public void onTerminate() {
        super.onTerminate();
                // calls when application force closed.
    }
}

2) 在您的清单中.xml

<application
        android:name="com.yourpackagename.MyApplication"
        android:allowTaskReparenting="true"
        android:debuggable="true"
        android:icon="@drawable/ijoomer_luncher_icon"
        android:label="@string/app_name"
        android:theme="@style/ijoomer_theme" >

最新更新