Intereting Posts
Аварийный сигнал AlarmManager, случайно отсутствующий, когда телефон не используется Войдите в систему через веб-службу Restore через android, не используя Android Studio не может разрешить R в импортированном проекте? Проект андроида имеет красный x, но ошибок в коде нет. Android: Как вы смешиваете макет ViewPager с макетом не-ViewPager для разных ориентаций устройств? Рисование на холсте и сохранение изображения Замена стандартного программного кодека Android H264 на основе ffmpeg Android установил, что GridView имеет только 2 столбца на строку Удаленная тестовая лаборатория (RTL) для Android Unicode и Android NDK Android-селектор с фоновым изображением и градиентом Неожиданные разные результаты от того же ввода String Как отключить push-уведомление от отображения при запуске приложения? ScrollView Layout не заполняет весь экран Автоматическая установка / удаление приложения из другого приложения

Разработка веб-монитора на 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?