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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Как остановить запущеный процес (сервис)? http://www.cyberforum.ru/android-dev/thread1481193.html
Здравствуйте! Есть код класса, наследующего Servise public int onStartCommand(Intent intent, int flags, int startId) { tTask = new TimerTask() { public void run() { try { TimeUnit.SECONDS.sleep(20); } catch (InterruptedException e) { e.printStackTrace(); }
Android Ускорение сборки приложения и времени отправки на эмулятор/устройство Всем привет. В мой акселератор стартапов поступил проект по ускорению разработки андроид приложений. Поскольку тема требует практических познаний в данной области, то оценить актуальность и востребованность продукта без специалистов невозможно. Пока у проекта есть только сайт http://www.rocketdroid.io/ Как утверждают разработчики, для людей знающих на сайте достаточно информации, чтобы все... http://www.cyberforum.ru/android-dev/thread1481152.html
Черные квадраты вместо картинок Android
Столкнулся с проблемой, на некоторых девайсах картинки с папки drawable отображаются как черные квадраты. Что интересно - такая судьба постигает не все картинки, некоторые из них отображаются правильно! Нет разницы они установлены программно или же через XML Пробовал (варианты были предложены гуглом): Заменить setImageResource на setBackgroundResource и наоборот - ноль эмоций заменить...
Как организовать сервис? Android
Здравствуйте! Подскажите пожалуйста, как лучше организовать сервис, который каждый день в заданное время, которое можно устанавливать из приложения, будет выполнять определенный код и отсылать уведомление( Notification)? Есть идея использовать Timer, однако появляется вопрос, а как заставить сервис выполнять код в заданное время? Заранее спасибо за какой-нибудь наталкивающий ответ!
Android Выбор промежутка времени (в днях) пользователем http://www.cyberforum.ru/android-dev/thread1480848.html
Как сделать так чтоб пользователь смог выбрать дни например с 02.06.15 по 19.06.15. Реализовать это нужно на одном экране, а ничего подобного найти не могу, буду благодарен за любой совет. И еще программа должна определить, типа в июне 30 дней, определенную сумму поделить на 30 и умножить на 18, чтобы найти суму за 18 дней. (300 / 30 * 18 = 180), как-то вот так. Буду благодарен за любой фрагмент...
Android Склонение чисел: минут-минуты, день-дней Ребята, подскажите как сделать. Нужно правильно написать "обновление N минут(ы) назад" часов(а) назад. Буду очень благодарен подробнее

Показать сообщение отдельно
Ханасака
10 / 10 / 0
Регистрация: 12.07.2013
Сообщений: 147
18.06.2015, 14:20  [ТС]     Как отменить выполнение кода в сервисе, который запущен в отдельном потоке?
Цитата Сообщение от CoolMind Посмотреть сообщение
Ханасака, разве нет?
У меня по такой схеме всё и сделано
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
public class MyService extends Service {
    NotificationManager nm;
    final String LOG_TAG = "myLogs";
    int i = 0;
 
    Timer timer;
    TimerTask tTask;
    long interval = 1000;
 
    @Override
    public void onCreate() {
        super.onCreate();
        timer = new Timer();
    }
    
    @Override
    public void onDestroy() {
        Log.d(LOG_TAG,"onDestroy");
        nm = null;
        timer.cancel();
        super.onDestroy();
    }
    public int onStartCommand(Intent intent, int flags, int startId) {
        tTask = new TimerTask() {
            public void run() {
                try {
                    TimeUnit.SECONDS.sleep(20);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
                sendNotif();
            }
        };
        timer.schedule(tTask, 1000, interval);
        return START_REDELIVER_INTENT;
    }
 
    void sendNotif() {
        Log.d(LOG_TAG, "running sendNotif!");
        // 1-я часть
        Notification notif = new Notification(R.drawable.ic_launcher,
                "Text in status bar", System.currentTimeMillis());
 
        // 3-я часть
        Intent intent = new Intent(this, MainActivity.class);
        intent.putExtra(MainActivity.FILE_NAME, "somefile");
        PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0);
 
        // 2-я часть
        notif.setLatestEventInfo(this, "Notification's title" + i,
                "Notification's text" + i, pIntent);
 
        // ставим флаг, чтобы уведомление пропало после нажатия
        notif.flags |= Notification.FLAG_AUTO_CANCEL;
        notif.defaults |= Notification.DEFAULT_SOUND;
        // notif.defaults |= Notification.DEFAULT_VIBRATE;
 
        // отправляем
        nm.notify(i, notif);
        nm = null;
        i++;
    }
 
    public IBinder onBind(Intent arg0) {
        return null;
    }
}
 
Текущее время: 18:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru