Я могу найти способ отправки параметров в свою активность из моего уведомления.
У меня есть служба, которая создает уведомление. Когда пользователь нажимает на уведомление, я хочу открыть свое основное действие с помощью некоторых специальных параметров. Например, идентификатор элемента, поэтому моя активность может загружать и отображать подробное представление специального элемента. Более конкретно, я загружаю файл, и когда файл загружается, я хочу, чтобы уведомление имело намерение, что при нажатии открывается моя активность в специальном режиме. Я попытался использовать putExtra
по своему намерению, но, похоже, не смог его извлечь, поэтому я думаю, что я делаю это неправильно.
Код из моей службы, который создает уведомление:
// construct the Notification object.
final Notification notif = new Notification(R.drawable.icon, tickerText, System.currentTimeMillis());
final RemoteViews contentView = new RemoteViews(context.getPackageName(), R.layout.custom_notification_layout);
contentView.setImageViewResource(R.id.image, R.drawable.icon);
contentView.setTextViewText(R.id.text, tickerText);
contentView.setProgressBar(R.id.progress,100,0, false);
notif.contentView = contentView;
Intent notificationIntent = new Intent(context, Main.class);
notificationIntent.putExtra("item_id", "1001"); // <-- HERE I PUT THE EXTRA VALUE
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
notif.contentIntent = contentIntent;
nm.notify(id, notif);
Код из моей активности, который пытается извлечь дополнительный параметр из уведомления:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Bundle extras = getIntent().getExtras();
if(extras != null){
Log.i( "dd","Extra:" + extras.getString("item_id") );
}
Дополнительные параметры всегда равны нулю, и я никогда ничего не получаю в своем журнале.
Btw... onCreate
запускается только при запуске моей активности, если моя активность уже запущена, я также хочу собрать дополнительные функции и представить свою активность в соответствии с получаемым item_id.
Любые идеи?