2017-03-22 5 views
0

Ich schreibe ein Programm, das zwei BroadCast-Empfängerklassen in einem Alarmmanager ausführen möchte. erste Klasse ist MyReceiver und zweite ist RequestReciever ... Erste wird ausgeführt, aber zweite wird nicht ausgeführt ... Warum? Können Sie mir helfen ... meine Alarm Krippe AufrufDer zweite BroadCast-Empfänger wird nicht ausgeführt

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); 

} 

meine erste Klasse

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(); 
} 

zweite, die nicht :(

public class RequestReciever erstreckt BroadcastReceiver läuft { öffentlichen RequestReciever() {

} 

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(); 

} 

hilf mir bitte meine Freunde ...

+0

ist RequestReciever in AndroidManifest.xml hinzugefügt? –

+0

auch, es ist ein Tippfehler auf 'RequestReciever', sollte es' RequestReceiver' sein, stellen Sie sicher, dass es mit dem Namen in AndroidManifest.xml –

+0

Dank passt. es hilft sehr viel :) – CodeForLife

Antwort

0

Stellen Sie sicher, dass es keine Tippfehler gibt und alle Ihre Empfänger sind in AndroidManifest.xml registriert.

Verwandte Themen