利用融雲做異地登入提醒
阿新 • • 發佈:2019-01-06
在RongCloudEvent下找到onChanged方法
@Override public void onChanged(ConnectionStatus connectionStatus) { switch (connectionStatus){ case KICKED_OFFLINE_BY_OTHER_CLIENT://使用者賬戶在其他裝置登入,本機會被踢掉線 ActivityUtil.reLogout(IHealthActivity.INSTANCE); break; } }
public static void reLogout(final Activity activity) { final實際上是呼叫登出的方法 如果帳號在別的裝置中登入 清楚快取後跳轉至登入頁面 簡單提醒String userName = PreferenceUtils.getPreferLoginName(activity);PreferenceUtils.clearData(activity); deleteFilesByDirectory(new File("/data/data/" + activity.getPackageName() + "/shared_prefs")); PreferenceUtils.modifyStringValueInPreferences(activity, Preferences.LOGIN_USER, userName); //清楚webview快取CookieSyncManager.createInstance(activity); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.removeAllCookie(); IHealthClient.resetAsyncHttpClient(); activity.finish(); IHealthActivity.INSTANCE.finish(); final Intent intent = new Intent(activity, LoginActivity_.class);intent.putExtra("onRestar","onRestar"); activity.startActivity(intent); }
Bundle bundle = this.getIntent().getExtras(); if (bundle != null) { String onRestar = bundle.getString("onRestar"); if (onRestar.equals("onRestar")){ showDialog(); } }
public void showDialog(){ final AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("提示"); builder.setMessage("您的帳號在異地登入,請重新登入"); builder.setInverseBackgroundForced(true); builder.setPositiveButton("確定", new DialogInterface.OnClickListener() { @Override public void onClick(final DialogInterface dialog, final int which) { dialog.dismiss(); } }); builder.show(); }