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

Service в новом процессе - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android SetContentView и layoutParams http://www.cyberforum.ru/android-dev/thread1453379.html
Почему когда я не передаю lp в setContentView, lin занимает весь экран, словно у него MATCH_PARENT, хотя я для него через setLayourParams устанавливаю WRAP_CONTENT? А вот так, (c явной передачей lp) lin рисуется с WRAP_CONTENT LinearLayout lin = new LinearLayout(this); lin.setOrientation(LinearLayout.VERTICAL); LayoutParams lp = new...
Android Работа с картами (WMTS) Как работать с WMTS? Тайлы будет отдавать GeoServer. Нашел как работать с WMS, например с osmdroid или google map. Но WMS не совсем подходит. Нужен именно WMTS. http://www.cyberforum.ru/android-dev/thread1453285.html
Неверный JSON Android
Подскажите пожалуйста споткнулся вроде на ровном месте exit(json_encode($newArray)); Так выдаю данные для приложения JsonObjectRequest jsObjRequestNews = new JsonObjectRequest(Request.Method.POST, "http://animalface.ru/mobile/news", null, new Response.Listener<JSONObject>() {
В объявлении new Button красным подчёркивает "this" Android
Здравствуйте, уважаемы программисты! Не могли бы вы мне помочь? ЧТО НЕ ТАК С ЭТИМ ОТРЫВКОМ КОДА????????? public void onClick(View v) { hi.setText("Пользоваться викториной очень легко! На экране появится вопрос, а вам надо будет лишь нажать на правильный вариант ответа. Если вы ответите неправильно, вы сможете попробовать ещё раз, но баллы вам уже не засчитаются! Ну...
Android Разбор протокола http://www.cyberforum.ru/android-dev/thread1452751.html
Доброго времени суток. Ребят, помогите пожалуйста разобраться. Есть билайновская IPTV-приставка и Android-приложение для управления этой приставкой посредством Wi-Fi(управление каналами, громкостью и т.п.). Нужно определить каким образом приложение общается с приставкой. Попробовал перехватить пакеты. На компьютере установил эмулятор Android с установленным приложением "Билайн ТВ". Беглый анализ...
Android Подключение к серверу я почему то не могу подключиться к серверу, сразу вылетает, не могу понять причины вот код: HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet("https://api.vk.com/method/users.get?user_id=205387401&v=5.32"); // replace with your url HttpResponse response; try { response = client.execute(request); подробнее

Показать сообщение отдельно
CoolMind
411 / 394 / 65
Регистрация: 06.10.2012
Сообщений: 1,701
21.05.2015, 22:41     Service в новом процессе
7Alex, недавно читал про сервисы (службы) в Android, там насчитали 4 способа передачи данных между активностью и сервисом. Я использовал не BroadcastReceiver, а Message. И вот как сделал.
Кликните здесь для просмотра всего текста

В сервисе:
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
    private Handler handler;
    private Messenger messenger;
 
    // ...
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // Let it continue running until it is stopped.
        Bundle extras = intent.getExtras();
        messenger = (Messenger) extras.get("MESSENGER");
 
        // Здесь какие-то ваши действия типа запуска проигрывателя.
 
        return START_STICKY;
    }
 
    // В одном из методов надо запустить какие-то задания:
        // ...
        handler = new Handler();
        handler.postDelayed(updateTrackTask, TIMEOUT);
        // ...
 
    // Периодический запрос названия трека.
    private Runnable updateTrackTask = new Runnable() {
        public void run() {
            if (player != null && player.isPlaying()) {
                new ShowTrack().execute();
                handler.postDelayed(this, TIMEOUT);
            }
        }
    };
 
    private void sendMessage(String artist, String title) {
        Bundle data = new Bundle();
        data.putString("ARTIST", artist);
        data.putString("TITLE", title);
        Message message = Message.obtain();
        message.setData(data);
        try {
            messenger.send(message);
        } catch (RemoteException e) {
            e.printStackTrace();
        }
    }
    // ...
    // В каком-то месте вызываем sendMessage(...).
В активности нужно написать другие строки:
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
    private static MessageHandler messageHandler;
 
    // Получение информации о треке из службы.
    public static class MessageHandler extends Handler {
        @Override
        public void handleMessage(Message message) {
            Bundle data = message.getData();
            showTrack.showTrack(data.getString("ARTIST"), data.getString("TITLE"));
        }
    }
 
    // Проигрывание радио по нажатию кнопок.
    private void startPlaying() {
        showTrack.showTrack("", "Подготовка к воспроизведению...");
        messageHandler = new MessageHandler();
        Intent i = new Intent(this, RadioService.class);
        i.putExtra("MESSENGER", new Messenger(messageHandler));
        startService(i);
    }
 
    private void stopPlaying() {
        showTrack.showTrack("", "");
        stopService(new Intent(this, RadioService.class));
        messageHandler = null;
    }

Может быть, пригодится.
 
Текущее время: 00:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru