我正在设计一个应用程序,它需要知道哪些用户在线或离线。每个用户都可以通知服务器他是在线还是离线,然后我可以从服务器获取该信息。
问题是 android 中是否有一个标准将用户标记为在线或离线。
一种解决方案是,如果应用正在运行,则用户处于联机状态,如果应用强制停止或未运行,则用户处于脱机状态。那么在我的应用程序中,我如何知道应用程序正在停止?
如果上述方法不可能或不是好的解决方案,那么我的应用程序何时会告诉服务器它正在脱机。
提前谢谢。
在Android中,没有"离开应用程序"的硬性概念。应用程序可以通过按 home 推送到堆栈上,在后台仍然处于活动状态,或者被另一个应用程序从顶部推开。没有真正的钩子可以用来说"好吧,我现在真的要下去了,我应该通知服务器"。
所以,你可以反过来:服务器向用户授予保释金,比如说500万,客户端应用程序必须更新它。在 5 分钟不活动后,服务器可以知道用户正在脱机。
当然,延迟将是服务器端所需的精度/响应能力需求与电池使用之间的权衡,因为这往往会通过不断通知服务器客户端仍在线来缩短电池寿命。
,当应用程序被强制关闭时,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" >