Не срабатывает Alarm с подключенной Support library

Ответить
Vovin
Сообщения: 2
Зарегистрирован: 07 янв 2014, 11:17

Не срабатывает Alarm с подключенной Support library

Сообщение Vovin » 03 апр 2014, 11:28

Может быть кто сталкивался или сможет помочь.
С подключенной support library не вызывается reciever, подключены
android-support-v4.jar
android-support-v7-appcompat.jar
Без подключеных support library все работает. Если вызывать reciever через sendBroadcast он также откликается.
Вот такой код

Код: Выделить всё

public void onClick(View v) {
		switch(v.getId()) {
		  case R.id.btStart :
			Intent intent = new Intent(this, AlarmReciver.class);
			PendingIntent pIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
	
			edTime = (EditText) findViewById(R.id.edTime);
			curDelay = Long.getLong(edTime.getText().toString(), 100);
			
		
			mAlarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + curDelay*1000L, pIntent);
			Log.i("APP", "ALARM SET1");
			mAlarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, System.currentTimeMillis() + curDelay*1000L, pIntent);
			Log.i("APP", "ALARM SET2");
		  break;	  
		}
	}
А вот reciver:

Код: Выделить всё

public class AlarmReciver extends BroadcastReceiver {

	private static String TAG = "APP";
	
	@Override
	public void onReceive(Context context, Intent intent) {
		Toast.makeText(context, "ALARM!", 3000).show();
		Log.i(TAG, "ALARM!");
		Intent newintent = new Intent(context, MainActivity.class);
		newintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
		context.startActivity(newintent);

	}

}
Уже несколько дней парюсь над этой проблемой и не могу понять.

Аватара пользователя
elron
Сообщения: 31
Зарегистрирован: 14 окт 2012, 13:29

Re: Не срабатывает Alarm с подключенной Support library

Сообщение elron » 11 апр 2014, 15:48

Вот метод который я использую:
[syntax=java] public void setAlarm(String idName, long time, int type, boolean onOff) {
Intent iAlarm = new Intent(getApplicationContext(), TriggerService.class);
iAlarm.setAction(idName); // id_name
iAlarm.putExtra(TriggerDB.KEY_TYPE, type);
iAlarm.putExtra(TriggerDB.KEY_TIME, time);
// включение
if (onOff) {
piAlarm = PendingIntent.getService(getApplicationContext(),
type, iAlarm,
PendingIntent.FLAG_UPDATE_CURRENT);
am.set(AlarmManager.RTC_WAKEUP, time, piAlarm);
}
// выключение
else {
piAlarm = PendingIntent.getService(getApplicationContext(),
type, iAlarm,
PendingIntent.FLAG_CANCEL_CURRENT);
am.cancel(piAlarm);
}
}
[/syntax]
[syntax=java]// AlarmManager
am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);[/syntax]
Служба, которая будет вызвана
[syntax=java]public class TService extends Service {
@Override
public void onCreate() {
super.onCreate();

}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {

return super.onStartCommand(intent, flags, startId);
}
}
[/syntax]

Vovin
Сообщения: 2
Зарегистрирован: 07 янв 2014, 11:17

Re: Не срабатывает Alarm с подключенной Support library

Сообщение Vovin » 20 апр 2014, 10:32

Спасибо за ответ! Уже не ожидал здесь что-то увидеть..
Оказалось, проблема была в том, что ресивер не был зарегистрирован посредством манифеста, т.к. в названии была опечатка. Как исправил опечатку в названии ресивера в манифесте - все заработало.

Ответить