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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
student71
0 / 0 / 0
Регистрация: 30.04.2014
Сообщений: 4
#1

Пример приложения, которое запускается в качестве service (и периодически делает определенную работу в threade) - Программирование Android

01.05.2014, 08:26. Просмотров 1012. Ответов 0
Метки нет (Все метки)

Я написал приложение, которое, к сожалению, не запускается при загрузке. Я знаю (теоретически) изменения в политике BroadcastReceiver начиная с 3.1 версии. Объясните как зарегистрировать service из activity?

class AlarmScheduleActivity

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
public class AlarmScheduleActivity extends Activity {
 
// UI parameters
Button btnStart;
Button btnStop;
 
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
 
    setContentView(R.layout.main);
 
    btnStart = (Button)findViewById(R.id.button1);
    btnStop = (Button)findViewById(R.id.button2);       
}
 
public void btnStartSchedule(View v) {
 
    try {
        AlarmManager alarms = (AlarmManager) this
                .getSystemService(Context.ALARM_SERVICE);
 
        Intent intent = new Intent(getApplicationContext(),
                AlarmReceiver.class);
        intent.putExtra(AlarmReceiver.ACTION_ALARM,
                AlarmReceiver.ACTION_ALARM);
 
        final PendingIntent pIntent = PendingIntent.getBroadcast(this,
                1234567, intent, PendingIntent.FLAG_UPDATE_CURRENT);
 
        alarms.setRepeating(AlarmManager.RTC_WAKEUP,
                System.currentTimeMillis(), 2000, pIntent);                     
 
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
 
}
 
public void btnCancelSchedules(View v) {
 
    Intent intent = new Intent(getApplicationContext(),
            AlarmReceiver.class);
    intent.putExtra(AlarmReceiver.ACTION_ALARM,
            AlarmReceiver.ACTION_ALARM);
 
    final PendingIntent pIntent = PendingIntent.getBroadcast(this, 1234567,
            intent, PendingIntent.FLAG_UPDATE_CURRENT);
 
    AlarmManager alarms = (AlarmManager) this
            .getSystemService(Context.ALARM_SERVICE);
 
    alarms.cancel(pIntent);
}
}
class AlarmReceiver

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class AlarmReceiver extends BroadcastReceiver {
 
public static String ACTION_ALARM = "com.alarammanager.alaram";
 
 @Override
 public void onReceive(Context context, Intent intent) {
 
  Bundle bundle = intent.getExtras();
  String action = bundle.getString(ACTION_ALARM);
  if (action.equals(ACTION_ALARM)) {
 Log.i("Alarm Receiver", "If loop");
 Intent inService = new Intent(context,TaskService.class);
 context.startService(inService);
  }
 }
}
class BootBroadcastReceiver

Java
1
2
3
4
5
6
7
8
9
10
11
12
public class BootBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
    Intent alarmIntent = new Intent("com.company.android.AlarmReceiver");
    PendingIntent pi = PendingIntent.getBroadcast(context, 0, alarmIntent,
    PendingIntent.FLAG_UPDATE_CURRENT);
 
    AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
    am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, System.currentTimeMillis(),
  2000, pi);
}
}
class TaskService

Java
1
2
3
4
5
6
7
8
9
10
11
public class TaskService extends IntentService {
public TaskService() {
    super("TaskService");
    // TODO Auto-generated constructor stub
}
@Override
protected void onHandleIntent(Intent arg0) {
    // Do some task
    Log.i("TaskService", "Service running: yes-yes-yes");
}
}
AndroidManifest.xml

XML
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
  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>    
<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".AlarmScheduleActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
<receiver android:name=".BootBroadcastReceiver"
        android:enabled="true" >
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</receiver>
<receiver
        android:name="AlarmReceiver"
        android:process=":remote" >
</receiver>
<service android:name=".TaskService" >
</service>
</application>
Добавлено через 21 час 5 минут
Есть идеи?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2014, 08:26     Пример приложения, которое запускается в качестве service (и периодически делает определенную работу в threade)
Посмотрите здесь:

Как заставить спящее Android-устройство периодически просыпаться и делать полезную работу? - Программирование Android
Задумка в том, что приложение должно периодически (раз в 2-10 минут) будить спящее устройство, выполнять некоторую работу, после чего...

Android Service, работающий даже после выключения пользователем приложения - Программирование Android
Столкнулся со следующей проблемой: нужно чтобы Service работал даже после выключения пользователем приложения. имеется public class...

Не запускается форма с WebView пример - Программирование Android
Всем привет ! Ребят, помогите, ткните носом в мою ошибку... Делаю по примеру http://habrahabr.ru/post/113731/ две формы, в которой, в...

Пример AdMob компилируется, но не запускается - Программирование Android
1. Взял пример с офиц сайта. (https://github.com/googleads/googleads-mobile-android-examples/tree/master/admob/BannerExample) Запустил. На...

Пример приложения - Программирование Android
Добрый вечер! Подскажите есть ли у кого простенький пример клиент-серверного приложения Android и сервер на Java? Благодарю

Создание радио приложения которое будет продолжать играть в фоне - Программирование Android
Привет! собрал из исходников вот это приложение радио воспроизведение. подскажите как реализовать функцию чтобы приложение продолжало...

Создание приложения которое будет выгружать базу звонков и ставить комментарии к ним - Программирование Android
Привет всем форумчанам, в создании приложений да и программировании совсем новичок, но сейчас выпал шанс попасть в студию стажером. Для...

Пример простейшего приложения со swipe-меню на Android - Программирование Android
доброго времени суток не могли бы подсказать где можно взять пример самого просто приложения (или поделиться ссылкой на инфу) со свайп...

Остановить работу приложения на 2 секунды - Программирование Android
Здравствуйте, всем... Вопрос в заголовке. Как остановить работу приложения, чтобы перестали работать кнопки, другие элементы...

Нужен простой пример программы на ява приложения для дипломной - Программирование Android
пора уже выбирать тему дипломной) интересно было поюзать язык ява, а именно написание на ней какой нибудь простой программы знаю,...

Не запускается приложения эмулятор на андройд - Программирование Android
Здравствуйте. Подскажите, пожалуйста причину. У меня не запускается приложение в эмуляторе(сам эмулятор запускается), выводит ошибку...

Как создать layout, который запускается один раз, при первом запуске приложения? - Программирование Android
Как создать layout, который запускается один раз, при первом запуске приложения? т.е. один раз запустилось и всё.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru