我在服务类中为共享首选项创建了set和get方法。第一次运行良好,就像它第一次返回正确的值,但之后返回空值。
我的代码:
public class ServiceClass extends Service {
@Override
public void onCreate() {
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
context=getApplicationContext();
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent("Notification"));
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
//sharedpreference
public static void setDefaults(String key, String value, Context context) {
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = prefs.edit();
editor.clear();
editor.putString(key, value);
editor.apply();
}
public static String getDefaults(String key, Context context) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
return preferences.getString(key, null);
}
public static void ClearAllPreferences(Context context){
//remove all your prefs
context.getSharedPreferences("prefs", 0).edit().clear().commit();
}
}
我无法理解问题发生的原因。我已经尝试了很多,但没有找到解决方案。请帮我解决这个问题
答案 0 :(得分:0)
你的编码技巧不好试试这段代码它会正常工作。
if (this.inviteResponse) {
setTimeout(function() { this.inviteResponse = '' }, 3000);
}
}