如何从同步适配器中删除共享的偏好设置

时间:2018-07-14 17:11:14

标签: java android android-syncadapter

我有一个代码,需要定期(每30秒)从服务器获取数据,并使用同步适配器进行处理。 自用户输入应用程序(在LoginActivity.java中)以来,我从服务器获取的最重要的数据存储在共享首选项中。 问题是,当用户注销该应用程序时,我从包含注销按钮的导航活动中删除了存储在同步适配器中的所有数据,但是共享首选项中存储的所有数据仍然对用户可用。而且我不知道如何删除同步适配器的共享首选项。

LoginActivity.java

// Shared preferences
jsonObjectTemp = new JSONObject(responseString);
SharedPreferences sharedPreferences = getSharedPreferences("TrackerTrackerGPS", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("username", txt_user.getText().toString());
editor.putString("password", txt_password.getText().toString());
editor.putString("name", Constants.decodeBase64(jsonObjectTemp.getString("nombreCompleto")));
editor.putString("email", Constants.decodeBase64(jsonObjectTemp.getString("email")));
editor.putString("token", serverResponse);
Log.d("Shared", sharedPreferences.getString("username", "Null"));
Log.d("Shared", sharedPreferences.getString("password", "Null"));
editor.apply();

SyncAdapter.java

// Get all the id's of the fleet
JSONObject bodyMonitor = new JSONObject();
SharedPreferences sharedPreferences =getContext().getSharedPreferences("TrackerTrackerGPS",Context.MODE_PRIVATE);
Log.d("Shared-SYNC-U", sharedPreferences.getString("username", "Null"));
Log.d("Shared-SYNC-P", sharedPreferences.getString("password", "Null"));
String usernameDec = sharedPreferences.getString("username", "Null");

DrawerMainNavigationActivity.java

// Section logout
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.clear().apply();
Intent intent1 = new Intent(DrawerMainNavigationActivity.this, LoginActivity.class);
startActivity(intent1);

注意:当我手动销毁活动时,我可以意识到同步适配器的数据已删除。

0 个答案:

没有答案
相关问题