2017-03-22 14 views
0

하나의 알람 관리자에서 두 개의 BroadCast 리시버 클래스를 실행하려는 프로그램을 작성합니다. 첫 번째 클래스는 MyReceiver이고 두 번째 클래스는 RequestReciever입니다 ... 첫 번째 클래스는 실행되지만 두 번째 클래스는 실행되지 않습니다 ... 이유는 무엇입니까? 당신은 나를 도울 수 ... 내 알람 매니저는 처음 클래스두 번째 BroadCast 리시버가 실행되지 않습니다.

private void workingAlaramManager() { 
    //enable onRecieve method in broadcast reciever to report and get action in listener 
    Intent intent = new Intent(getContext(), MyReceiver.class); 
    Intent requestIntent=new Intent(getContext(),RequestReciever.class); 

    PendingIntent pendingIntent = PendingIntent.getBroadcast(getContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 
    PendingIntent pendingIntentRequest = PendingIntent.getBroadcast(getContext(), 1, requestIntent, PendingIntent.FLAG_UPDATE_CURRENT); 

    AlarmManager am = (AlarmManager)getContext().getSystemService(Context.ALARM_SERVICE); 
    am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 1000, 1000, pendingIntent); 
    am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 1000, 1000, pendingIntentRequest); 

} 

실행되지 않습니다 :(

공용 클래스 RequestReciever가 브로드 캐스트 리시버 { 공공 RequestReciever를 확장

public class MyReceiver extends BroadcastReceiver { 
public MyReceiver() { 
} 
private GPSLocation gpsLocation; 
private ApiManager apiManager; 
private Activity activity; 
private Context context; 
private SharedPref sharedPref; 
@Override 
public void onReceive(Context context, Intent intent) { 
    this.context=context; 
    activity=new MainAccountActivity(); 
    apiManager = new ApiManager(); 
    sharedPref=new SharedPref(apiManager.deliveryPartner,apiManager.deliveryPartner.deliveryBike,context); 
    sharedPref.loadData(); 
    getLatAndLng(); 
    getDataTime(); 
    requestToReportDeliverySituation(); 
} 

초 하나를 호출() {

} 

private ApiManager apiManager; 
private Activity activity; 
private Context context; 
private SharedPref sharedPref; 

@Override 
public void onReceive(Context context, Intent intent) { 
    this.context = context; 
    activity = new MainAccountActivity(); 

    apiManager = new ApiManager(); 
    sharedPref = new SharedPref(apiManager.deliveryPartner, apiManager.deliveryPartner.deliveryBike, context); 
    sharedPref.loadData(); 

    sendCheckDeliveryRequest(); 

} 

내 친구들을 기쁘게 도와주세요 ...

+0

은 AndroidManifest.xml에 RequestReciever가 추가 되었습니까? –

+0

또한 'RequestReciever'에 오타가 있습니다.'RequestReceiver' 여야합니다. AndroidManifest.xml에 추가 된 이름과 일치하는지 확인하십시오. –

+0

감사합니다. 그것은 매우 도움이됩니다. – CodeForLife

답변

0

모든 수신자가 오타가 없는지 확인하고 AndroidManifest.xml에 등록하십시오.