複数のアラームマネージャーが別々の時刻にインテントを送信するようにスケジュールしました。 私は保留中の両方のインテントに一意のID、コンテキスト、およびエクストラを渡すように注意しました。 funcの下の はアラームコールを処理します。 。アラームマネージャーの遅延。同時に2つのアラームが存在する場合
public void handle(int duration, int id){
Intent intent = new Intent("package.SET");
intent.putExtra ("package.id", Id);
AlarmManager amg = (AlarmManager)Context.getSystemService(Context.ALARM_SERVICE);
PendingIntent pis = PendingIntent.getBroadcast(Context,Id, intent, FLAG_ONE_SHOT);
amg.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + time, pis); }
public void callalarm(int time){
handle(time, UNIQUE_ID1);}
と
public void callalarm2(int time){
handle(time, UNIQUE_ID2);}
アラームを呼び出す2つの機能がある私は、ユニークID1とUnique_ID2が異なっていることを世話をしました。 ブロードキャスト受信者はアラームを処理し、別のコードを実行します。 Callalarm1とCallalarm2が互いに干渉する可能性はありますか?
私はAndroidのマニフェストファイルにregisterReceiver機能を使用して受信機に登録されていません。放送受信装置を拡張ARにおいて
IntentFilter ARFilter = new IntentFilter();
ARFilter.addAction("package.SET");
context.registerReceiver(AR, ARFilter);
、私は、アクションを定義するためにIDを使用。
public BroadcastReceiver AR= new BroadcastReceiver()
{ public void onReceive(Context context, Intent intent)
{ // i do some stuff here which is confidential
}}
問題は、アラームが遅れてしまうことです。遅延がある理由はありますか?
Oh Stakc Overfloeのユーザーはなぜ私に解決策を与えてくれませんか? – yontak