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

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

Восстановить пароль Регистрация
Другие темы раздела
Android Json Parsing http://www.cyberforum.ru/android-dev/thread1037043.html
Здравствуйте.я попытаться разобрать JSON и показать элемент в listview.Программа работает, но я хочу показать все элементы на нажатие кнопки, но когда я нажал кнопку только показать последний пункт на ListView это мой код private class LoadDataToServer extends AsyncTask<Void, Integer, ArrayList<HashMap<String, String>>> { @Override protected void onPreExecute() {...
Android Как получить день недели первого дня месяца из Calendar? Например, день недели первого дня Декабря 2013 - Воскресенье День недели первого для Января 2014 - Среда Самый сложный вопрос в мире) http://www.cyberforum.ru/android-dev/thread1037026.html
Android Наслоение активностей
Всё ниже: private GridView.OnItemClickListener gridviewOnItemClickListener = new GridView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View v, int position, long id) { // TODO Auto-generated method stub // выводим номер позиции switch (position){ case...
Android Ошибка сокетов: D/AndroidRuntime: Shutting down VM
Пишу сокет-клиент. Вроде всё делаю правильно... tvOut.setText("Коннектимся..."); Log.d("my", "Коннектимся..."); try { InetAddress serverAddr = InetAddress.getByName("192.168.1.121"); Log.d("my", "InetAddress serverAddr..."); socket = new Socket(serverAddr, 3426); Log.d("my", "socket = new Socket...");
Android Как программно узнать количество рабочих столов http://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 HashMap<String, String>(); Element e = (Element) nl.item(i); map.put(KEY_PARENT_ID, parser.getValue(e, KEY_PARENT_ID)); ... подробнее

Показать сообщение отдельно
lavan
51 / 51 / 1
Регистрация: 21.03.2009
Сообщений: 371
13.12.2013, 15:30     Как узнать, какой именно из установленных браузеров выбирает пользователь
Есть такой класс 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();
        }
        
    }
}
 
Текущее время: 00:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru