Ich habe eine einfache Android-App geschrieben, die eine benutzerdefinierte Benachrichtigung wie diese anzeigt:
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);
Dieser Code heißt in meiner Anwendung NUR EINMAL und zeigt eine Benachrichtigung mit einem Fortschrittsbalken an (alles korrekt).
Wenn ein Benutzer auf diese Benachrichtigung klickt, behandelt meine Anwendung das onResume
Ereignis.
public void onResume()
{
super.onResume();
// TODO: Extras è SEMPRE NULL!!! impossibile!
Intent callingintent = getIntent();
Bundle extras = callingintent.getExtras();
aber Extras ist immer NULL!
Ich habe eine beliebige Kombination von:
notificationIntent.putExtra("com.mysecure.lastpage", "SECURECODE");
oder
Bundle extra = new Bundle();
extra.putString(key, value);
notificationIntent.putExtra(extra);
aber getIntent (). getExtras () gibt immer NULL zurück.