Как передать текст из уведомления в другое действие?

в моем приложении, когда я нажимаю элемент просмотра списка, отображается одно уведомление. Теперь, когда я нажимаю это уведомление, открываю другое действие и отображаю содержимое уведомления в другом действии. Здесь, когда я выбираю элемент представления списка, приходит уведомление с выбранным текстом элемента. После того, как я выберу другой элемент представления списка, также появится уведомление со связанным текстом, но точная проблема заключается в том, что когда я открываю это уведомление, в другом действии будет отображаться только один текст. Пожалуйста, исправьте это.

rmdListView.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
                    showNotification();

                           }

Теперь метод уведомления

public void showNotification() {
    Uri soundUri = RingtoneManager
            .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

    // intent triggered, you can add other intent for other actions
    Intent intent = new Intent(updateActivity.this,
            NotificationReceiver.class);        
    intent.putExtra("Name", noti);
    PendingIntent pIntent = PendingIntent.getActivity(updateActivity.this,
            0, intent, 0);  
    Notification mNotification = new Notification.Builder(this)

    .setContentTitle("Reminder!").setContentText(timeList + ":" + noti)
            .setSmallIcon(R.drawable.logosmall).setContentIntent(pIntent)
            .setSound(soundUri)             
            .build();
    NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);     
    mNotification.flags |= Notification.FLAG_AUTO_CANCEL;

    notificationManager.notify(0, mNotification);
}

person venki    schedule 26.12.2014    source источник
comment
Используйте SharedPref для лучшего подхода   -  person IntelliJ Amiya    schedule 26.12.2014
comment
Я все еще не уверен в вашей проблеме. Можешь перефразировать свой пост?   -  person Jay    schedule 26.12.2014
comment
Знаете ли вы, как получить extra данные из намерения? Просто выполните getIntent().getStringExtra(Name) в вызываемой активности.   -  person Jay    schedule 26.12.2014
comment
да, я знаю, как извлекать данные из намерения, но проблема в том, что я получаю некоторые инструкции из базы данных в свое представление списка, теперь, когда я выбираю этот элемент представления списка, отображаю уведомление с инструкцией выбранного элемента, это работает нормально, но выберите это уведомление откройте одно действие, затем отобразите эту инструкцию, здесь я столкнулся с проблемой, означает, что другое действие отображает только инструкцию по первому элементу.   -  person venki    schedule 26.12.2014


Ответы (1)


Наконец я нашел ответ на эту задачу. Сначала запишите эту строку в метод onNewIntent(getIntent()); Oncreate(). После добавьте этот код в свой Activity.

protected void onNewIntent(Intent intent) {
    // TODO Auto-generated method stub
    Bundle extras = getIntent().getExtras();
    if(extras != null){
        if(extras.containsKey("Name")){             
            setContentView(R.layout.notification);
            // extract the extra-data in the Notification
            ok_btn=(Button)findViewById(R.id.not_ok);
            String msg = extras.getString("Name");
            not_data = (TextView) findViewById(R.id.noti_txt);
            not_data.setText(msg);              
        }
    }       
    super.onNewIntent(intent);
}   

любые сомнения в этой задаче, пожалуйста, опубликуйте свой вопрос.

person venki    schedule 30.12.2014