Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
just_moment
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 38
#1

Как узнать, какой именно из установленных браузеров выбирает пользователь - Программирование Android

11.12.2013, 12:53. Просмотров 522. Ответов 2
Метки нет (Все метки)

Здравствуйте. Подскажите, пожалуйста, как программно узнать, какой браузер выбирает пользователь. Например, один из тех, что приведены на изображении. Спасибо.
Миниатюры
Как узнать, какой именно из установленных браузеров выбирает пользователь  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2013, 12:53     Как узнать, какой именно из установленных браузеров выбирает пользователь
Посмотрите здесь:
Android Как узнать что выбрал пользователь в AutoCompleteTextView
Как узнать когда пользователь перестает касаться экрана? Android
Android Как узнать курс валют страны в которой находиться пользователь в android
Узнать кликнул ли пользователь по рекламе Android
Узнать какой интернет был отключен Android
Android Как сохранять значения именно в кэш-память, а не в оперативку?
Как изменять стандартные android-элменты(их вид), а именно календарь Android
Android Полный список установленных программ
Как проверить, включил ли пользователь GPS? Android
Android Как определить, что пользователь разрешил доступ к сети
Android Как определить, платил ли пользователь хоть один раз?
Android Как понять, что пользователь закончил ввод текста в поле?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lavan
51 / 51 / 1
Регистрация: 21.03.2009
Сообщений: 371
13.12.2013, 15:30     Как узнать, какой именно из установленных браузеров выбирает пользователь #2
Есть такой класс ContentObserver http://developer.android.com/intl/ru...tObserver.html
как то я такое делал,возможно вам подойдёт
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
public class CurrentBrowser {
    
    private Context                      context;
    private final String                 chrome = "com.android.chrome";
    private final String                 browser = "com.android.browser";
    //private final String firefox = "org.mozilla.firefox";
    private String                        old_url = "*/-";
    private MObserver                     mob;
    private TreeMap<Integer,String> tm;
    
    public CurrentBrowser(Context context){
        this.context = context;
        tm = new TreeMap<Integer,String>();
        mob = new MObserver();
    }
    
    public String getLastUrl(){
        String url = "";
        
        return url;
    }
    
    private String getCurrentBrowser(){
        String br = "";
        ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        List<RunningAppProcessInfo> rap = am.getRunningAppProcesses();
        //ArrayList<String> al = new ArrayList<String>();
        for(int i = 0; i < rap.size(); i++)
        {
            if(rap.get(i).processName.equalsIgnoreCase(browser) || 
                    rap.get(i).processName.equalsIgnoreCase(chrome))
                //al.add(rap.get(i).processName+" importance="+rap.get(i).lru);
                tm.put(rap.get(i).lru, rap.get(i).processName);
        }
        br = tm.get(0);
        return br;
    }
    
    public void registerContentObserver(){
        Uri uri = getUri(getCurrentBrowser());
        if(uri != null)
        {
            context.getContentResolver().registerContentObserver(uri, false/*?*/, mob);
        }
        else
        {
            //?????????
        }
    }
    
    public void unregisterContentObserver(){
        context.getContentResolver().unregisterContentObserver(mob);
    }
    
    private Uri getUri(String br){
        Uri uri = null;
        if(br.length() > 0)
        {
            if(br.equalsIgnoreCase(browser))
                uri = Browser.BOOKMARKS_URI;
            else
                uri = Uri.parse("content://com.android.chrome.browser/bookmarks");  
        }
        return uri;
    }
    
    public String getUrl(){
        if(old_url.equalsIgnoreCase("*/-"))
        {
            Uri uri = getUri(getCurrentBrowser());
            if(uri != null)
            {
                Cursor cr = context.getContentResolver().query(uri, Browser.HISTORY_PROJECTION, null, null, null);
                if(cr.moveToLast())
                {
                    old_url = cr.getString(Browser.HISTORY_PROJECTION_URL_INDEX);
                }
            }
            else
            {
                //?????????????
            }
        }
        return old_url;
    }
    
    class MObserver extends ContentObserver{
 
        public MObserver() {
            super(null);
            // TODO Auto-generated constructor stub
        }
        
        @Override
        public void onChange(boolean selfChange) {
            // TODO Auto-generated method stub
            Uri uri = getUri(getCurrentBrowser());
            if(uri != null)
            {
                Cursor cr = context.getContentResolver().query(uri, Browser.HISTORY_PROJECTION, null, null, null);
                if(cr.moveToLast())
                {
                    String str = cr.getString(Browser.HISTORY_PROJECTION_URL_INDEX);
                    if(!old_url.equalsIgnoreCase(str))
                        old_url = str;
                }
                else
                {
                    
                }
                
            }
            else
            {
                
            }
            super.onChange(selfChange);
        }
        
        @Override
        public boolean deliverSelfNotifications() {
            // TODO Auto-generated method stub
            return false;//super.deliverSelfNotifications();
        }
        
    }
}
just_moment
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 38
14.12.2013, 20:24  [ТС]     Как узнать, какой именно из установленных браузеров выбирает пользователь #3
Спасибо Вам большое, очень помогло.
Yandex
Объявления
14.12.2013, 20:24     Как узнать, какой именно из установленных браузеров выбирает пользователь
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru