应用程序退出时清除数据

时间:2011-05-22 13:08:24

标签: android session android-manifest

我在我的应用程序中使用了共享首选项进行会话维护。并在共享首选项中存储userId和密码。 当我退出应用程序时如何清除这些数据。因为当我重新启动我的应用程序时它会给出上一个会话。 当我在我的应用程序中注销并再次启动应用程序时,它将很好地工作。在注销时,我将共享首选项数据(userId和密码)设置为null。但我想在应用程序退出中清除所有这些数据。

我还在清单文件中使用了以下权限:“android.permission.CLEAR_APP_USER_DATA”

<uses-permission android:name="android.permission.CLEAR_APP_USER_DATA"></uses-permission>

但我不知道如何在编码中使用它们。

4 个答案:

答案 0 :(得分:4)

  

我在我的应用程序中使用了共享首选项进行会话维护。

不要那样做。将静态数据成员用于“会话”数据,并将持久数据用于共享首选项。

  

退出应用程序时如何清除这些数据。

除了在网络上退出应用程序的概念之外,没有任何关于在Android中退出应用程序的概念。

如果您为会话数据使用静态数据成员,那么当Android终止进程时,数据将自动被清除,当应用程序被放弃很长一段时间时,它将会自动执行。

答案 1 :(得分:1)

不要使用共享偏好设置。只需使用全局变量。这样的事情应该这样做:

class Globals {
    static public String userid;
    static public String pasword;
}

答案 2 :(得分:0)

您可以使用以下代码进行开发和调试,但不能用于生产。 Android应用程序不应该被“退出”,请参阅here

public class MyActivity extends Activity {

     protected void onStop()
     {
        SharedPreferences settings = getSharedPreferences(PREF_FILE_NAME, 0);
        Editor e = settings.edit();
        e.clear(); 
        e.commit();
     }
 }

答案 3 :(得分:0)

尝试使用此处的教程解决您的问题:http://www.hrupin.com/2011/11/how-to-clear-user-data-in-your-android-application-programmatically此帖子中有一个示例项目。

希望对你有所帮助!