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

Множественный запуск сервиса - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Какое приложение можно написать для диплома по ос Андроид? http://www.cyberforum.ru/android-dev/thread625191.html
У меня тема диплома - "Программирование для ОС Android". Какой проект можете посоветовать для написания в рамках этой темы?
Android Запуск анимации при старте активити Есть покадровая анимация, которая выставлена фоном одного из элементов интерфейса. прописана как надо: //анимация animal.setBackgroundResource(R.drawable.animation_01); anim1=(AnimationDrawable)animal.getBackground(); anim1.start(); Это я прописал в методе onCreate() В итоге на экране первый кадр и тишина. http://www.cyberforum.ru/android-dev/thread625083.html
Android Получить изображение из галереи
Есть Button, есть ImageView. Как по нажатию Button предоставить пользователю галерею, чтоб тот выбрал одно единственное изображение и оно отобразилось в ImageView?
Android Почему не ввыключается таймер?
Есть сервис public class AttentionService extends Service{ public static final String MAKE_PERIODIC_ATTENTION="Make_periodic_attention"; private Timer attentionTimer; private Handler handler; @Override public void onCreate() { attentionTimer=new Timer("attention_timer");
Android Запрет всплывающего уведомления http://www.cyberforum.ru/android-dev/thread624766.html
Приложение запускает сервис, сервис запускает периодически всплывающие уведомления типа Toast. Однако, данные уведомления должны всплывать только тогда, когда активити, запустившее сервис неактивно. Соответственно, нужно на период активности приложения запретить вывод данных уведомлений. Как справиться с уведомлениями типа Notification понятно - через NotificationManager, а вот с Toast -...
Android Ошибка при создании проекта Запускаю Eclipse, создаю Android-проект (параметы: Build SDK: Android 4.1, Minimum Required SDK: Android 4.0.3, Create Activity: BlankActivity). Сразу Java пишет об ошибке в файле src/com.example.first/FirstActivity.java. Не известна переменная R. Этот файл: package com.example.first1; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import... подробнее

Показать сообщение отдельно
kvaka
 Аватар для kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163

Множественный запуск сервиса - Android

18.07.2012, 10:55. Просмотров 775. Ответов 0
Метки (Все метки)

Есть сервис

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
public class AttentionService extends Service{
    public static final String MAKE_PERIODIC_ATTENTION="Make_periodic_attention";
    private static Timer attentionTimer;
    private Handler handler;
    
    private Notification attentionNotification;
    public static final int NOTIFICATION_ID=1;
    
    String svcName;
    NotificationManager notificationManager;
    Context context;
    Intent startActivityIntent;
    PendingIntent launchIntent;
    
    @Override
    public void onCreate() {
        attentionTimer=new Timer("attention_timer");
        
        int icon=R.drawable.icon;
        String tickerText="Attention!!!";
        long when=System.currentTimeMillis();
        attentionNotification=new Notification(icon, tickerText, when);     
        svcName = Context.NOTIFICATION_SERVICE;
        notificationManager =
        (NotificationManager)getSystemService(svcName);
        context = getApplicationContext();  
        startActivityIntent=new Intent(AttentionService.this, MyActivity.class);
        launchIntent =
            PendingIntent.getActivity(context, 0, startActivityIntent, 0);
        
        
    };
 
    @Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
    }
    
    
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        
        
        handler=new Handler();
        attentionTimer.cancel();
        attentionTimer=new Timer("attention_timer");
        attentionTimer.scheduleAtFixedRate(callAttention, 5*1000, 10*1000);
        return Service.START_STICKY;
        
    }
 
    private TimerTask callAttention=new TimerTask() {
        @Override
        public void run() {
            handler.post(makeAttention);
        }
    };
    
    private  Runnable makeAttention=new Runnable() {
        public void run() {
            if (!MyActivity.activityOnScreen){
            notificationManager.cancel(AttentionService.NOTIFICATION_ID);   
            attentionNotification.setLatestEventInfo(getApplicationContext(), "", "Message...", launchIntent);
            attentionNotification.when=java.lang.System.currentTimeMillis();
            notificationManager.notify(NOTIFICATION_ID, attentionNotification);
            Intent intent=new Intent(MAKE_PERIODIC_ATTENTION);
            sendBroadcast(intent);
            }
        }
    };
}
В активити я его запускаю
Java
1
startService(new Intent(getApplicationContext(), AttentionService.class));
и останавливаю
Java
1
stopService(new Intent(getApplicationContext(), AttentionService.class));
Однако происходит следующее: Как и должно быть через определенные промежутки времени появляются уведомления. При повторном запуске и закрытии приложения количество уведомлений увеличивается в 2 раза. Не пойму в чем дело. Я даже таймер статическим сделал, чтобы класс сервиса мог только 1 экземпляр создавать.

Кстати, еще другой сервис тоже не останавливается методом stopService!!! (((
Что не так?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru