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

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

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

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

01.05.2014, 08:26. Просмотров 1023. Ответов 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 минут
Есть идеи?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2014, 08:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Пример приложения, которое запускается в качестве service (и периодически делает определенную работу в threade) (Программирование Android):

Укажите название приложения, которое будет использоваться провайдером в качестве хост-системы - Хостинг
Корочь ситуация такая кто может мне разжевать вопрос данный мне одной компанией. Вопрос звучит так : Укажите название приложения, которое...

Поиск слово с максимальной длиной которое начинается на определенную букву - C++
Я нашел код который ищет слова с макс. длиной : // #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;string&quot; #include...

A Windows service with the name MySQL already exists. Please uninstall this service correctly or choose a different name for the new service. - MySQL
Не знаю что делать дальше

Периодически не запускается компьютер - Компьютерное железо
При включении компа стал происходить следующее - системник гудит как обычно, все кулеры работают и все лампочки светятся (динамик внутри...

Периодически запускается жесткий диск - Жесткие диски
Во время работы в Windows периодически запускается жесткий диск издавая характерный звук как при загрузке компьютера. Ошибок нет, диск...

Периодически запускается консольное приложение - Windows 10
Периодически (примерно раз в 1-2 часа) запускается какая-то консольная программа и исчезает после исполнения. Так как там доли секунды я не...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2014, 08:26
Привет! Вот еще темы с ответами:

Вопрос про continue, что он делает (приведён пример) - C (СИ)
Знаю что континум означает переход к следующей итерации цикла, но мне это не понятно, можете объяснить? и чем он отличается от break? ...

Server 2008 Cлужба Gela Guard Service запускается и потом останавливается - Windows Server
Здравствуйте у меня такая проблема, служб запускается и потом останавливается прилагая снимок. Вообще на других компах он запускается а...

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

Asus eee pc 1225b периодически не запускается - Ремонт ноутбуков
Доброго времени суток, комрады! Очень прошу, проявите мужскую солидарность -- нужно починить ноут девушке. И чёрт с ним, что я не...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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