Как использовать устаревшие методы в старых API - PullRequest
0 голосов
/ 11 июня 2018

У меня есть код ниже, чтобы получить историю браузера.Я знаю, что BookmarkColumns устарел с Android M. Я хочу запускать этот код, только если конечным устройством является API <= Lollipop.Этот метод работает хорошо, если я изменил свой compiledSDKVersion на 21. Но я хочу, чтобы моя compiledsdkversion была последней (27).Можно ли использовать эти методы вместо изменения sdkversion? </p>

Я пробовал ниже, но не повезло,

  1. @SuppressWarnings("deprecation")
  2. if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP) {
  3. @TargetApi(21)

И также я не знаю, почему его показ в виде не может разрешить BookmarkColumns вместо устарел .

String[] proj = new String[] { Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL };
String sel = Browser.BookmarkColumns.BOOKMARK + " = 0"; // 0 = history, 1 = bookmark
Cursor mCur = getContentResolver().query(Browser.BOOKMARKS_URI, proj, sel, null, null);
mCur.moveToFirst();
@SuppressWarnings("unused")
String title = "";
@SuppressWarnings("unused")
String url = "";
if (mCur.moveToFirst() && mCur.getCount() > 0) {
    boolean cont = true;
    while (mCur.isAfterLast() == false && cont) {
        title = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.TITLE));
        url = mCur.getString(mCur.getColumnIndex(Browser.BookmarkColumns.URL));
        // Do something with title and url
        mCur.moveToNext();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...