Можно ли посчитать, сколько раз я открываю гугл? - PullRequest
3 голосов
/ 01 февраля 2012

Я хочу разработать приложение (или службу), которое будет подсчитывать количество раз, которое я открываю http://www.google.com url. Но я не знаю, возможно ли это с Android.

Я хочу провести исследование в этой области, но я не знаю, с чего начать. Насколько я искал, нет намерения срабатывать, когда некоторые URI в браузере противопоставлены, но я думаю, что есть такой способ сделать это. Я не ожидаю, что все будет просто, но я надеюсь, что это возможно. Я надеюсь, что некоторые приложения измеряют сетевой трафик, то есть все как-то отслеживается.

1 Ответ

5 голосов
/ 01 февраля 2012

Это не гарантируется для всех версий Android, но согласно документации вы можете прочитать базу данных браузера.

Браузер - это статический помощник, который обеспечивает доступ к базе данных закладок и, в соответствии с вашими требованиями, также предоставляет историю браузера с помощью метода getAllVisitedUrls.

Cursor cursor=Browser.getAllVisitedUrls(getContentResolver());
        cursor.moveToFirst();
        int occasions=0;
        while (cursor.moveToNext()) {
            String urlVisited=cursor.getString(cursor.getColumnIndex(BookmarkColumns.URL));
            if (urlVisited.contains("www.google.")) {
                occasions++;
            }
            Log.d("History",cursor.getString(cursor.getColumnIndex(BookmarkColumns.URL)));
        }
        Log.d("History","occasions="+occasions);

РЕДАКТИРОВАТЬ: Извините, чтобы обновить этопосле того, как он был принят как ответ, но вопреки тому, что я первоначально написал, вы действительно можете зарегистрироваться, чтобы прослушать изменения в URI закладок:

getContentResolver().registerContentObserver(Browser.BOOKMARKS_URI, true, 
            new ContentObserver(new Handler()) {

                    @Override
                    public void onChange(boolean selfChange) {
                        Log.d("History","Bookmarks has changed");
                        super.onChange(selfChange);
                    }

        });

Надеюсь, это полезно.

РЕДАКТИРОВАТЬ:Я не упомянул, что вам нужно добавить разрешение в манифест: com.android.browser.permission.READ_HISTORY_BOOKMARKS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...