액티비티를 시작하고 중지해야하는 애플리케이션이 있습니다.빈 인 텐트 필터로 인해 문제가 발생합니다.
지금까지 활동을 시작해도 좋습니다.
활동을 중지하려고하면 문제가 발생합니다.
이
는 활동을 종료 의도를 방송 그 알람 관리기입니다 : Intent ftue = new Intent(ctxt, VideoActivty.class);
ftue.putExtra("finish", true);
PendingIntent pftue = PendingIntent.getBroadcast(ctxt, 0, ftue, 0);
Calendar calSet4 = Calendar.getInstance();
calSet4.set(Calendar.MONTH, c.get(Calendar.MONTH));
calSet4.set(Calendar.YEAR, c.get(Calendar.YEAR));
calSet4.set(Calendar.DAY_OF_WEEK, 3);
calSet4.set(Calendar.HOUR_OF_DAY, hftue);
calSet4.set(Calendar.MINUTE, mftue);
calSet4.set(Calendar.SECOND, 0);
calSet4.set(Calendar.MILLISECOND, 0);
//calSet.setTimeZone(TimeZone.getTimeZone("UTC"));
mgr.setRepeating(AlarmManager.RTC_WAKEUP, calSet4.getTimeInMillis(),
7 * 24 * 60 * 60 * 1000, pftue);
그리고 나는 Activty를 종료해야 브로드 캐스트 리시버를 구현 한 내 Activty에서
.@Override
public void onResume() {
super.onResume();
IntentFilter f=new IntentFilter();
registerReceiver(receiver, f);
}
@Override
public void onPause() {
unregisterReceiver(receiver);
super.onPause();
}
BroadcastReceiver receiver=new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
Log.e("","intento ricevuto");
if(intent.getBooleanExtra("finish",false))finish();
}
};
내 응용 프로그램은 방송 의도를받지 않으며, 나는 텐트 필터가 비어 있기 때문에 즉 이해합니다.
브로드 캐스트를 수신하려면 어떻게 의도 필터를 구현해야합니까?
감사!
또한 활동이 일시 중지 된 경우 방송을 수신하지 않습니다. –