2016-07-08 14 views
1

を受けた:しかし、私はいつものみ、最初のものを受けていますBroadCastReceiverとAlarmManager:プログラムされた2つのアラームが、私は2つのアラームとbroadcastreceiver持っている唯一の1

AlarmManager am2=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 
Intent intent2 = new Intent(context, MyReceiverAlarm.class); 
intent2.putExtra("name", "juan"); 
PendingIntent pi2 = PendingIntent.getBroadcast(context, 0, intent2, 0); 

am2.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis()+1000, pi2); 



AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 
Intent intent = new Intent(context, MyReceiverAlarm.class); 
intent.putExtra("name", "jose"); 
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0); 
am.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis()+8000, pi); 

を。私はいつも「ジュアン」を得て、警報は8秒後に火災です。 私は理由を理解していない...私はなぜ2つのアラームを持っている場合は、1つを発生させる?

私BroadcastReceiver:

Toast.makeText(context, extras.getString("nombre") + "", Toast.LENGTH_LONG).show(); 
String name=extras.getString("nombre"); 
if (extras != null && name.equals("juan") { 
    String callForwardString = PHONE ; 
       Intent intentCallForward = new Intent(Intent.ACTION_CALL); 

    Uri uri2 = Uri.fromParts("tel", callForwardString, "#"); 
    intentCallForward.setData(uri2); 
    intentCallForward.addFlags(intent.FLAG_ACTIVITY_NEW_TASK); 

    context.startActivity(intentCallForward); 
} else { 
    ... 
} 

は、2つのアラームをプログラムすることはできませんか?事前

答えて

1

おかげgetBroadcast()に渡されたリクエストコード(第2のパラメータを変更してください:

PendingIntent pi2 = PendingIntent.getBroadcast(context, 2, intent2, 0); 
PendingIntent pi = PendingIntent.getBroadcast(context, 1, intent, 0); 
+0

パーフェクト!!おかげで – sdelatorre

関連する問題