Разработка веб-монитора в Android

Я хотел бы отслеживать / фильтровать сайты, которые пользователь открывает в Android.

Я знаю, как извлечь последний посещенный URL (в браузере Android по умолчанию), используя ContentObserver в истории браузера ...

private static class BrowserObserver extends ContentObserver {
    private static String lastVisitedURL = "";
    private static String lastVisitedWebsite = "";

    //Query values:
    final String[] projection = new String[] { Browser.BookmarkColumns.URL };  // URLs
    final String selection = Browser.BookmarkColumns.BOOKMARK + " = 0";  // history item
    final String sortOrder = Browser.BookmarkColumns.DATE;  // the date the item was last visited


    public BrowserObserver(Handler handler) {
        super(handler);
    }


    @Override
    public void onChange(boolean selfChange) {
        onChange(selfChange, null);
    }


    @Override
    public void onChange(boolean selfChange, Uri uri) {
        super.onChange(selfChange);

        //Retrieve all the visited URLs:
        final Cursor cursor = getContentResolver().query(Browser.BOOKMARKS_URI, projection, selection, null, sortOrder);

        //Retrieve the last URL:
        cursor.moveToLast();
        final String url = cursor.getString(cursor.getColumnIndex(projection[0]));

        //Close the cursor:
        cursor.close();

        if ( !url.equals(lastVisitedURL) ) {  // to avoid information retrieval and/or refreshing...
            lastVisitedURL = url;

            //Debug:
            Log.d(TAG, "URL Visited: " + url + "\n");
        }
    }
}

Для регистрации ContentObserver я использую:

browserObserver = new BrowserObserver(new Handler());
getContentResolver().registerContentObserver(Browser.BOOKMARKS_URI, true, browserObserver);

И чтобы отменить это

getContentResolver().unregisterContentObserver(browserObserver);

Это работает. Однако таким образом я могу анализировать URL-адреса только после того, как браузер загрузит их.

Теперь, есть ли способ получить URL-адреса до того, как браузер фактически загрузит их в Android?

Ответы на вопрос(1)

Ваш ответ на вопрос