Tôi đã viết một Ứng dụng Android đơn giản hiển thị Thông báo tùy chỉnh như sau:
Context context = getApplicationContext();
NotificationManager manager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Notification notification = new Notification( R.drawable.icon, title, System.currentTimeMillis());
Intent notificationIntent = new Intent( context, this.getClass());
notificationIntent.putExtra("com.mysecure.lastpage", "SECURECODE");
PendingIntent pendingIntent = PendingIntent.getActivity( context , 0, notificationIntent, 0);
notification.flags = notification.flags | Notification.FLAG_ONGOING_EVENT;
notification.contentView = new RemoteViews(context.getPackageName(), R.layout.notifypbar);
notification.contentIntent = pendingIntent;
notification.contentView.setTextViewText(R.id.notifypb_status_text, text);
notification.contentView.setProgressBar(R.id.notifypb_status_progress, 100, (int)(100*progress), false);
manager.notify(104, notification);
Đoạn mã này được gọi là CHỈ DUY NHẤT trong ứng dụng của tôi và nó hiển thị thông báo với thanh tiến trình (tất cả đều chính xác).
Bây giờ, khi người dùng nhấp vào thông báo này, ứng dụng của tôi sẽ xử lý onResume
sự kiện.
public void onResume()
{
super.onResume();
// TODO: Extras è SEMPRE NULL!!! impossibile!
Intent callingintent = getIntent();
Bundle extras = callingintent.getExtras();
nhưng tính năng bổ sung luôn là NULL!
Tôi đã thử bất kỳ sự kết hợp nào của:
notificationIntent.putExtra("com.mysecure.lastpage", "SECURECODE");
hoặc là
Bundle extra = new Bundle();
extra.putString(key, value);
notificationIntent.putExtra(extra);
nhưng getIntent (). getExtras () luôn trả về NULL.