2017-03-22 4 views
0

1つのアラームマネージャで2つのブロードキャストレシーバクラスを実行するプログラムを作成します。 ファーストクラスはMyReceiver、SecondはRequestReciever ... ファーストクラスは実行されますが、ファーストクラスは実行されません...なぜですか?あなたが私を助けることができる... 私のアラームマネージャは、私の最初のクラス2番目のブロードキャストレシーバが実行されない

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はBroadcastReceiver { 公共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(); 
} 

秒1を呼び出します(){

} 

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

関連する問題