Bir hizmetin içinde bir alıcı var, çünkü etkinlik bittiğinde bile çalışmak üzere zamanlanmış bir alarma ihtiyacım var. Yaptığım şey buydu.Bir hizmetin içinde bir yayın alıcısı çalışmıyor
/**
* Created by rishabh on 14/2/16.
*/
public class MyService extends Service {
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
public class MyReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Calendar c = Calendar.getInstance();
int hour=c.get(Calendar.HOUR_OF_DAY);
int minute=c.get(Calendar.MINUTE);
Calendar calendar = new GregorianCalendar(1990, 1, 1, hour, minute);
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm");
String date = sdf.format(calendar.getTime());
String str=date.charAt(0)+""+date.charAt(1)+""+date.charAt(3)+""+date.charAt(4);
String LOG_TAG="DevicePolicyAdmin";
Log.v(LOG_TAG, "Service Started");
MainActivity.minochaDevicePolicyManager.resetPassword(str, 0);
}
}
}
ve alıcı zamanlama alarmı tetikler için
Intent intent3=new Intent(MainActivity.this,MyService.class);
startService(intent3);
Intent intent2 = new Intent(MainActivity.this, MyService.MyReceiver.class);
PendingIntent pintent = PendingIntent.getService(MainActivity.this, 0, intent2, 0);
AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarm.setRepeating(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), 60 * 1000, pintent);
sadece bir kez yürütür MyService sınıfında OnReceive yöntemdir. niye ya? Sorun ne olabilir?
IntentFilter filter = new IntentFilter();
filter.addAction("SOME_ACTION");
filter.addAction("SOME_OTHER_ACTION");
context.registerReceiver(receiver, filter);
Ayrıca OnReceive yöntemde Eğer alıcı için ateş yayın eylem için kontrol edilmesi gereken
servis AndroidManifest.xml kayıtlı mı kontrol edin? –
'BroadcastReceiver'’ı kaydetmeyi unuttun mu? –
' ' bu ayrı hizmet ve Alıcı veren denedin mi tezahür –
AxeManTOBO