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

Как разбудить устройство из спящего режима через PowerManger.WakeLock - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Слайдшоу, листание картинок по таймеру http://www.cyberforum.ru/android-dev/thread1639811.html
необходимо листать картинки по таймеру. в голове крутится идея использовать VievPager, есть ли какая-то возможность вызывать переход на след. страницу по таймеру???
Программирование Android Верстка для андроида Нужна ваша помощь, а именно студента для верстки под андроид. http://www.cyberforum.ru/android-dev/thread1639797.html
SQLite Программирование Android
Приложение вылетает с ошибкой, не подскажете, в чём проблема? public class DatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "cardgame.db"; private static final int SCHEMA = 1; static final String TABLE = "cards"; public static final String COLUMN_ID = "_id"; public static final String COLUMN_NAME = "name"; public static final...
Подскажите книги для разработки приложений под андроид Программирование Android
Подскажите книги для разработки приложений под андроид желательно с ссылками на скачивание для начинающего который вообще ничего не знает про Java и андроид приложения и тп. PS.Взарание спасибо!) Добавлено через 1 минуту Ну или хотя бы какие-то курсы желательно бесплатные
Программирование Android Как сделать скроллинг FrameLayout? http://www.cyberforum.ru/android-dev/thread1639308.html
как сделать скроллинг FrameLayout? Суть в том, что содержимое не помещается на экране по вертикали. В FrameLayout вставлено около 20 строк (при помощи TableRow). Как-то надо установить скроллинг вверх-вниз. Как - не знаю.
Программирование Android Не работает эмулятор Android Здравствуйте! Подскажите, пожалуйста, в чём может быть проблема. При запуске эмулятора, любого из созданных, выходит ошибка. ОС: Windows 8.1 Разрядность: 64 bit Версия Android Studio: 1.4.1 подробнее

Показать сообщение отдельно
Vladimir99
0 / 0 / 0
Регистрация: 30.07.2013
Сообщений: 20

Как разбудить устройство из спящего режима через PowerManger.WakeLock - Программирование Android

16.01.2016, 00:41. Просмотров 753. Ответов 1
Метки (Все метки)

Решил разбудить устройство из спящего режима из из сервиса в какой-то момент времени. Попробовал сделать сам по другому примеру,в манифесте прописал разрешение,но ничего не выходит.Понятия вообще не имею где вставляется код и какой?
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
package com.example.curoday.Service;
 
import android.content.Context;
import android.os.PowerManager;
 
public class WakeLock {
    private static PowerManager.WakeLock wl = null;
 
    public static void lockOn(Context context) {
        PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
        if (wl == null)
            wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "ALARM");
        wl.acquire();
    }
 
    public static void lockOff(Context context) {
        try {
            if (wl != null)
                wl.release();
        } catch (Exception e) {
            //e.printStackTrace();
        }
    }
}
Вот сам сервис. Вызываю метод lockOnn(context) в сервисе в методе OnStartCommand()
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
package com.example.curoday.Service;
 
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;
 
import com.example.curoday.ActivityFile.MainActivity;
import com.example.curoday.ActivityFile.ServiceDialog;
import com.example.curoday.BasicClasees.Alarm;
import com.example.curoday.Database.AlarmDatabase;
 
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
 
public class AlarmService extends Service {
    private Alarm alarm;
 
    @Override
    public void onCreate() {
        super.onCreate();
    }
 
    @Override
    public void onDestroy() {
        super.onDestroy();
    }
 
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        WakeLock.lockOn(getApplicationContext());
        startSchedule(getApplicationContext());
        return START_NOT_STICKY;
    }
 
    @Override
    public IBinder onBind(Intent intent) {
        // TODO: Return the communication channel to the service.
        throw new UnsupportedOperationException("Not yet implemented");
    }
 
    public void startSchedule(Context context){
        alarm=getNextAlarmService();
        if(alarm!=null) {
            Intent scheduleIntent = new Intent(context, ServiceDialog.class);
            scheduleIntent.putExtra("alarm_name",alarm.getAlarmName());
            scheduleIntent.putExtra("alarm_time", alarm.getAlarmTimeToString());
 
            PendingIntent pIntent = PendingIntent.getActivity(context, 0, scheduleIntent, PendingIntent.FLAG_CANCEL_CURRENT);
            AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
            alarmManager.set(AlarmManager.RTC_WAKEUP, getAlarmTimeService().getTimeInMillis(), pIntent);
        }
        else {
            Intent scheduleIntent = new Intent(context, ServiceDialog.class);
            PendingIntent pIntent = PendingIntent.getActivity(context, 0, scheduleIntent, PendingIntent.FLAG_CANCEL_CURRENT);
            AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
            alarmManager.cancel(pIntent);
        }
    }
 
    private Alarm getNextAlarmService() {
            Set<Alarm> alarm_sort_list=new TreeSet<>(new Comparator<Alarm>() {
                @Override
                public int compare(Alarm left, Alarm right) { //порядок вывода в listView
                    int result=0;
                    long difference=left.getAlarmTime().getTimeInMillis()-right.getAlarmTime().getTimeInMillis();
                    if(difference<0){
                        return 1;
                    }
                    else if(difference>0){
                        return -1;
                    }
                    return result;
                }
            });
            AlarmDatabase.entry(getApplicationContext());
            ArrayList<Alarm> alarm_list=AlarmDatabase.getAllAlarm();
            for(Alarm alarm:alarm_list){
//                if(alarm.getAlarmActive()){
//                если аларм на активе то кидаем в сервис
//                }
                alarm_sort_list.add(alarm);
            }
            if(alarm_sort_list.iterator().hasNext()){
                return alarm_sort_list.iterator().next();
            }
            else return null;
    }
 
    public Calendar getAlarmTimeService() {
        Calendar alarm_time=alarm.getAlarmTime();
        if (alarm_time.before(Calendar.getInstance())){
            alarm_time.add(Calendar.DAY_OF_MONTH, 1);
        }
        return alarm_time;
    }
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru