当我想从应用程序中注销时,我将向您展示我的操作方式。
这可以让您完成活动 B -> C -> D 并开始活动 A
首先,我在具有会话详细信息的类中创建一个注销方法
public void logoutUser(){
clearSharedPreferences();
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("com.test.your.packgage.ACTION_LOGOUT");
_context.sendBroadcast(broadcastIntent);
// We send a broadcast to all registered activities
// this way all activities will run finish ()
// And they will be automatically closed
LocalBroadcastManager.getInstance(_context).sendBroadcast(broadcastIntent);
}
public void clearSharedPreferences() {
// Clearing all data from Shared Preferences
editor.clear();
editor.commit();
}
然后,在每项活动中,您都必须这样做:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.test.your.packgage.ACTION_LOGOUT");
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("onReceive","Logout in progress");
finish();
}
}, intentFilter);
}