protected void displayNotification(String response) {
Intent intent = new Intent(context, testActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, Intent.FLAG_ACTIVITY_NEW_TASK);
Notification notification = new Notification(R.drawable.icon, "Upload Started", System.currentTimeMillis());
notification.setLatestEventInfo(context, "Upload", response, pendingIntent);
nManager.notify((int)System.currentTimeMillis(), notification);
}
이 함수는 여러 번 호출됩니다. notification
클릭하면 각각 testActivity를 시작하고 싶습니다 . 불행히도 첫 번째 알림 만 testActivity를 시작합니다. 나머지를 클릭하면 알림 창이 최소화됩니다.
추가 정보 : 함수 displayNotification()
는라는 클래스에 UploadManager
있습니다. 인스턴스화하는 에서 Context
전달됩니다 . 에서 실행되는 UploadManager에서도 함수에서 함수 가 여러 번 호출 됩니다.UploadManager
activity
displayNotification()
AsyncTask
편집 1 : 내가로 문자열 응답을 전달하고 있음을 언급하는 것을 잊었다 Intent intent
int로서 extra
.
protected void displayNotification(String response) {
Intent intent = new Intent(context, testActivity.class);
intent.putExtra("response", response);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
알림이 생성되었을 때 String 응답이 무엇인지 반영하기 위해 추가 "응답"이 필요하기 때문에 이것은 큰 차이를 만듭니다. 대신을 사용 PendingIntent.FLAG_UPDATE_CURRENT
하여 추가 "응답"은에 대한 마지막 호출에서 문자열 응답이 무엇인지 반영합니다 displayNotification()
.
나는 이것이에 대한 문서를 읽은 이유를 알고 FLAG_UPDATE_CURRENT
있습니다. 그러나 현재로서는 어떻게 해결해야할지 모르겠습니다.