Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从android的第一个Activity中删除SharedReference、退出并启动应用程序_Android_Sharedpreferences_Android Sharedpreferences - Fatal编程技术网

如何从android的第一个Activity中删除SharedReference、退出并启动应用程序

如何从android的第一个Activity中删除SharedReference、退出并启动应用程序,android,sharedpreferences,android-sharedpreferences,Android,Sharedpreferences,Android Sharedpreferences,用于清除共享首选项和退出的功能: SharedPreferences prefs = getSharedPreferences( AppConstants.LOGIN_PREFS, Context.MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit(); editor.remove( "loggedin"); e

用于清除共享首选项和退出的功能:

   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" />


我的第一页FirpageFlipMain活动前四个活动在注册后完成我在主活动中有“注销”按钮当我调用给定代码以删除并清除并退出共享首选项值中的应用程序时,它将变为退出,但它出现在主活动之前的启动页上,而我希望它应该从启动页面开始,该页面为FirpageFlipMain活动请告诉我我哪里做错了

在实用程序类或活动或片段中创建方法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();

希望这能有所帮助。

我调用的函数与我调用的函数相同,因此请在此函数中编辑如果您使用的是FLAG\u ACTIVITY\u CLEAR\u TOP,您甚至不需要最后一行finish()!