如何删除 sharedpreferences,从 android 中的第一个活动退出并启动应用程序
how to delete sharedpreferences ,Quit and launch application from first actvity in android
用于清除共享首选项并退出的函数:
SharedPreferences prefs = getSharedPreferences(
AppConstants.LOGIN_PREFS, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.remove( "loggedin");
editor.remove( "regloggedin");
editor.remove( "activationloggedin");
editor.remove("userdetailloggedin");
editor.clear();
editor.commit();
finish();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
清单文件:
<activity
android:name=".activity.FirPageflipMainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!--FirPageflipMainActivity-->
<activity android:name=".activity.RegitsraionPage" />
<activity android:name=".activity.ActivationCode" />
<activity android:name=".activity.userdetail" />
<activity android:name=".activity.SplashScreen" />
<activity android:name=".activity.MainActivity" />
<activity android:name=".activity.Mainactvityfortab" />
<activity android:name=".activity.Mainactvityfortab1" />
<activity android:name=".activity.Mainactvityfortab2" />
<activity android:name=".activity.Mainactvityfortab3" />
<activity android:name=".activity.Prodculistitem" />
<activity android:name=".activity.Itemdescription" />
<activity
android:name=".activity.DeliverDetail"
android:windowSoftInputMode="stateHidden" />
<activity android:name=".activity.Serchactvity" />
<activity android:name=".activity.FinalypaymentDetail" />
<activity android:name=".activity.Paytm" />
<activity android:name=".activity.ConfirmationOrder" />
我的第一页 FirPageflipMainActivity 前四个活动在注册后完成我在主要活动中有注销按钮当我调用给定代码以从共享首选项值中删除和清除并退出应用程序然后它变成退出但它出现在启动页面上在 mainactivity 之前,虽然我想要它应该从 FirPageflipMainActivity 的凝视页面开始,请告诉我哪里做错了
在您的 Utility class 或 Activity 或 Fragment
中创建方法 resetsetSharedPreferences
public static void resetsetSharedPreferences(Context context,
String sharedPrefname) {
SharedPreferences mPrefs = context.getSharedPreferences(sharedPrefname,
Context.MODE_PRIVATE);
mPrefs.edit().clear().commit();
}
然后在退出时调用这个方法
resetsetSharedPreferences(getActivity().getApplicationContext(), AppConstants.LOGIN_PREFS);
Intent intent = new Intent(getApplicationContext(), FirPageflipMainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
尝试进行这些更改:
SharedPreferences prefs = getSharedPreferences(
AppConstants.LOGIN_PREFS, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.clear();
editor.commit();
Intent intent = new Intent(getApplicationContext(), FirPageflipMainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
this.finish();
希望对您有所帮助。
用于清除共享首选项并退出的函数:
SharedPreferences prefs = getSharedPreferences(
AppConstants.LOGIN_PREFS, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.remove( "loggedin");
editor.remove( "regloggedin");
editor.remove( "activationloggedin");
editor.remove("userdetailloggedin");
editor.clear();
editor.commit();
finish();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
清单文件:
<activity
android:name=".activity.FirPageflipMainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!--FirPageflipMainActivity-->
<activity android:name=".activity.RegitsraionPage" />
<activity android:name=".activity.ActivationCode" />
<activity android:name=".activity.userdetail" />
<activity android:name=".activity.SplashScreen" />
<activity android:name=".activity.MainActivity" />
<activity android:name=".activity.Mainactvityfortab" />
<activity android:name=".activity.Mainactvityfortab1" />
<activity android:name=".activity.Mainactvityfortab2" />
<activity android:name=".activity.Mainactvityfortab3" />
<activity android:name=".activity.Prodculistitem" />
<activity android:name=".activity.Itemdescription" />
<activity
android:name=".activity.DeliverDetail"
android:windowSoftInputMode="stateHidden" />
<activity android:name=".activity.Serchactvity" />
<activity android:name=".activity.FinalypaymentDetail" />
<activity android:name=".activity.Paytm" />
<activity android:name=".activity.ConfirmationOrder" />
我的第一页 FirPageflipMainActivity 前四个活动在注册后完成我在主要活动中有注销按钮当我调用给定代码以从共享首选项值中删除和清除并退出应用程序然后它变成退出但它出现在启动页面上在 mainactivity 之前,虽然我想要它应该从 FirPageflipMainActivity 的凝视页面开始,请告诉我哪里做错了
在您的 Utility class 或 Activity 或 Fragment
中创建方法 resetsetSharedPreferencespublic static void resetsetSharedPreferences(Context context,
String sharedPrefname) {
SharedPreferences mPrefs = context.getSharedPreferences(sharedPrefname,
Context.MODE_PRIVATE);
mPrefs.edit().clear().commit();
}
然后在退出时调用这个方法
resetsetSharedPreferences(getActivity().getApplicationContext(), AppConstants.LOGIN_PREFS);
Intent intent = new Intent(getApplicationContext(), FirPageflipMainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
尝试进行这些更改:
SharedPreferences prefs = getSharedPreferences(
AppConstants.LOGIN_PREFS, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.clear();
editor.commit();
Intent intent = new Intent(getApplicationContext(), FirPageflipMainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
this.finish();
希望对您有所帮助。