gpt4 book ai didi

java - 如果我两次发送相同的未决 Intent 会怎样?

转载 作者:行者123 更新时间:2023-11-30 00:34:28 28 4
gpt4 key购买 nike

我正在尝试发送两个待定意向假设我在 1 分钟后发送了第一个意向,在 2 分钟后发送了第二个意向。我对他们两个使用相同的操作。发生的只是第二个 Intent 起作用,但 2 分钟后也是如此。

 AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent;
intent = new Intent(ALARM_ACTION_NAME);
if(val1) {

intent.putExtra("TYPE","SILENT");
}
else {

intent.putExtra("TYPE", "RING" );

}


PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 2,intent, 0);

广播接收者如下...

if(ALARM_ACTION_NAME.equals(intent.getAction())){
Log.i("this", intent.getStringExtra("TYPE"));
if(intent.getStringExtra("TYPE").equals("SILENT")) {
Toast.makeText(context, "illumy set the phone to Silent", Toast.LENGTH_LONG).show();
AudioManager am = (AudioManager) context.getSystemService(context.AUDIO_SERVICE);
am.setStreamVolume(AudioManager.STREAM_RING, 0, 0);
am.setStreamVolume(AudioManager.STREAM_MUSIC, 0 , 0);

}
else if (intent.getStringExtra("TYPE").equals("RING")){

Toast.makeText(context, "Phone set the phone to Ring", Toast.LENGTH_LONG).show();
AudioManager am = (AudioManager) context.getSystemService(context.AUDIO_SERVICE);
am.setStreamVolume(AudioManager.STREAM_RING, 100, 0);
am.setStreamVolume(AudioManager.STREAM_MUSIC, 30 , 0);
}
}

最佳答案

最后的 Intent 总是会被更早的取代。因此有 2 种解决方案,一种是您定义多个操作,另一种(最佳方法)管理数据库中的所有调用。这意味着在执行后首先安排最低的即将到来的调用,删除该调用并再次获得即将到来的最低调用。

关于java - 如果我两次发送相同的未决 Intent 会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43672307/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com