public class SharedPreferencesCompat { private static final String TAG = SharedPreferencesCompat.class .getCanonicalName(); private static final Method sApplyMethod = findApplyMethod(); private static Method findApplyMethod() { try { Class<?> cls = SharedPreferences.Editor.class; return cls.getMethod("apply"); } catch (NoSuchMethodException unused) { // fall through } return null; } public static void apply(SharedPreferences.Editor editor) { if (sApplyMethod != null) { try { sApplyMethod.invoke(editor); Log.d(TAG, "Apply method was invoked!"); return; } catch (InvocationTargetException unused) { // fall through } catch (IllegalAccessException unused) { // fall through } } editor.commit(); Log.d(TAG, "Commit method was invoked!"); } }