안드로이드 보류중인 의도 알림 문제
내 앱에서 알람이 발생하고 눌렀을 때 활동이 시작되었다는 알림이 시작됩니다. 문제는 두 개 이상의 경보를 생성하면 알림에서 시작된 활동이 첫 번째 경보와 동일한 추가 기능을 갖게된다는 것입니다. 문제는 내가 보류중인 의도에 넣은 의도 또는 보류중인 의도 자체에 있다고 생각합니다. 나는 이것들 중 하나에 깃발을 달아야 할 것 같지만 어느 것을 알지 못합니다.
Intent showIntent =new Intent(context, notificationreceiver.class);
showIntent.putExtra("details", alarmname);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
showIntent, 0);
notification.setLatestEventInfo(context, "The event is imminent",
alarmname, contentIntent);
그리고 알림 수신자
Bundle b = getIntent().getExtras();
String eventname = b.getString("details");
details.setText(eventname);
"세부 정보"추가는 다른 값을 갖는 대신 다음에 알림이 발생할 때마다 동일합니다. 의도를 설정할 때까지 올바른 값이 "세부 사항"으로 이동하므로 알림을 누를 때마다 첫 번째 의도를 얻는 문제가 발생합니다. 올바른 인 텐트를 시작하려면 어떻게해야합니까? 감사합니다!
문제는 두 개 이상의 경보를 생성하면 알림에서 시작된 활동이 첫 번째 경보와 동일한 추가 기능을 갖게된다는 것입니다.
옳은.
올바른 인 텐트를 시작하려면 어떻게해야합니까?
한 번에 등록 할 두 개의 알람이 있는지 여부에 따라 다릅니다.
그렇지 않다면, 당신은 할 수 사용 FLAG_ONE_SHOT
하거나 다른 하나 PendingIntent
플래그는 두 번째 가지고 PendingIntent
사용하는 새로운 엑스트라를.
그러나 한 번에 두 개의 알람을 등록하고 다른 Intent
추가 기능을 사용하는 경우 두 개 를 비교할 때 반환 Intents
되도록 두 개 를보다 실질적으로 다르게 만들어야합니다 . 예를 들어, 당신은 부를 수 또는 각각에 대해 다른 값을 제공합니다 .filterEquals()
false
setData()
setAction()
Intent
이 문제를 해결 한 방법 은 PendingIntent를 얻을 때 고유 한 requestCode 를 할당하는 것입니다 .
PendingIntent.getActivity(context, requestCode, showIntent, 0);
이렇게하면 시스템에 다른 / 고유 한 인 텐트 인스턴스를 등록하게됩니다. 팁 : requestCode를 고유하게 만드는 좋은 방법은 현재 시스템 시간을 전달하는 것입니다.
int requestID = (int) System.currentTimeMillis();
또 다른 해결책 :
다음 과 같이 PendingIntent.FLAG_UPDATE_CURRENT를 사용하십시오 .
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,i, PendingIntent.FLAG_UPDATE_CURRENT);
이것은 나를 위해 일했다
내 앱 에이 문제가 있었고 알림 의도를 재정의하기 위해 난수를 생성했습니다.
int random= new Random().nextInt();
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(
random,
PendingIntent.FLAG_UPDATE_CURRENT
);
참고 URL : https://stackoverflow.com/questions/3009059/android-pending-intent-notification-problem
'IT TIP' 카테고리의 다른 글
.NET 경로가 디렉토리가 아닌 파일인지 확인하는 방법은 무엇입니까? (0) | 2020.10.25 |
---|---|
위도와 경도에 대한 올바른 데이터 유형? (0) | 2020.10.25 |
프로그래밍 방식으로 ProgressBar를 만드는 방법은 무엇입니까? (0) | 2020.10.25 |
307 Chrome에서 analytics.js를로드 할 때 리디렉션 (0) | 2020.10.25 |
ASP.Net MVC에서 User 개체의 UserID를 어떻게 얻습니까? (0) | 2020.10.25 |