Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Json Parsing https://www.cyberforum.ru/android-dev/thread1037043.html
Здравствуйте.я попытаться разобрать JSON и показать элемент в listview.Программа работает, но я хочу показать все элементы на нажатие кнопки, но когда я нажал кнопку только показать последний пункт...
Программирование Android Как получить день недели первого дня месяца из Calendar?
Например, день недели первого дня Декабря 2013 - Воскресенье День недели первого для Января 2014 - Среда Самый сложный вопрос в мире)
Программирование Android Наслоение активностей
Всё ниже: private GridView.OnItemClickListener gridviewOnItemClickListener = new GridView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View v,...
Программирование Android Ошибка сокетов: D/AndroidRuntime: Shutting down VM Пишу сокет-клиент. Вроде всё делаю правильно... tvOut.setText("Коннектимся..."); Log.d("my", "Коннектимся..."); try { InetAddress serverAddr = InetAddress.getByName("192.168.1.121");... https://www.cyberforum.ru/android-dev/thread1036892.html
Программирование Android Как программно узнать количество рабочих столов https://www.cyberforum.ru/android-dev/thread1036722.html
Подскажите функцию - метод, желательно с примером
Программирование Android Как конвертировать в int
Здравствуйте. Делаю парсинг xml файла. for (int i = 0; i < nl.getLength(); i++) { // creating new HashMap HashMap<String, String> map = new...
Заблокировать исходящие SMS от других программ Программирование Android
Такое в принципе возможно штатными средствами? Без залома ядра прошивки? Особенно скрытую отправку пресечь (не из звонилки)... Хукер/сервис/реактор на отправку поставить... Хотябы пусть...
Программирование Android [Unity 4.3.1] Как изменить управление WASD на сенсорный джойстик? Скачал движок Unity 4.3.1 с поддержкой 2D, скачал демку "Unity Projects 02: 2D Platformer", но она сделана для компьютера и имеет управление WASD. Как изменить его на сенсорное управление с помощью... https://www.cyberforum.ru/android-dev/thread1036463.html
Программирование Android Как сделать изображения не через data:uri https://www.cyberforum.ru/android-dev/thread1036439.html
Первые шаги в андроид. Разбираю пример с этой статьи. HTML-содержимое файла res/raw/n.txt передается в WebView посредством loadDataWithBaseURL. Прошу помочь научиться вставлять изображения в...
Программирование Android Andoid SDK и Eclipse Добрый день, уважаемые завсегдатаи форума. Пришел к вам с таким вопросом. Решил посмотреть обе среды разработки: Android SDK и Eclipse с плагином. Так вот, с кодом public class MainActivity... https://www.cyberforum.ru/android-dev/thread1036354.html
lavan
53 / 53 / 8
Регистрация: 21.03.2009
Сообщений: 371
13.12.2013, 15:30 0

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

13.12.2013, 15:30. Просмотров 649. Ответов 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();
        }
        
    }
}


Вернуться к обсуждению:
Как узнать, какой именно из установленных браузеров выбирает пользователь
1
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2013, 15:30
Готовые ответы и решения:

Игра "кто хочет стать миллионером?". Как узнать, какой RadioButton выбирает пользователь
Делая это приложение столкнулся м проблемой есть 3 списка(вопросы, ответы и верные ответы) вывод...

Как отследить какой именно ComboBox выбрал пользователь?
В лабораторной работе есть 7 comboBox-ов, пользователь может выбирать значение начиная с любого,...

Как узнать какой именно ресурс был присоединен к заявке?
Добрый вечер. Не могу решить проблему: в модели имеется блок Seize, который захватывает ресурсы из...

Как узнать на какой именно машине в сети происходит блокировка юзера AD
Добрый день. Столкнулся со следующей проблемой. В нашем домене куча серверов (около сотни), и я при...

Как узнать с какой страны пришел пользователь
Вот есть у меня сайт site.ru. И есть у меня две версии en/ и ru/ Так вот как узнать с какой...

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