3

因此,我只需要将 Preference 的最低 API 级别提高到 11(addpreferenceresource 已折旧)——结果 9-10 占据了 50% 的市场份额。所以我的问题是,最好只是抑制警告以迎合姜饼市场,还是有其他方法可以在不使用偏好片段的情况下做出我的偏好参考?

4

2 回答 2

4

我将实现这两​​种类型(一种适用于 11+ 和一种适用于 10-),然后对它们使用条件检查。这在这个答案中写得很详细。

基本上,您最终会OtherPreferencesActivity使用. (您的 APK 不会因包含此已弃用的代码而中断,只要您使用版本检查,以便将来如果/当它被删除时,它不会尝试找到它。)PreferenceFragmentPreferencesActivityPreferenceActivity

if (Build.VERSION.SDK_INT < 11) {
    startActivity(new Intent(this, PreferencesActivity.class);
} else {
    startActivity(new Intent(this, OtherPreferencesActivity.class);
}

请记住,您将希望他们尽可能地使用彼此的方法,这样您就不会最终重复代码。

最后提示:在@TargetApi(11)这里@SuppressWarnings("deprecation")会派上用场。请注意,这样做不会忽略其他弃用。

于 2013-02-12T22:58:37.023 回答
0

“折旧”并不意味着你不能使用它,如果你运行代码会破坏你的系统。意思是官方不推荐使用,这个方法可能会从api中删除。未来,但我们不知道什么时候。所以我会说现在在这种情况下使用它是节省的。

于 2013-02-12T22:56:42.800 回答