如何将文本从通知传递到另一个活动?

时间:2014-12-26 12:49:48

标签: android android-activity notifications

在我的应用程序中,当我单击列表视图项时,将显示一个通知,现在当我单击该通知时打开另一个活动并在另一个活动中显示通知内容。这里当我选择列表视图项目时,通知将带有所选项目文本。在我选择另一个列表视图项后,通知也会附带相关文本,但确切的问题是当我打开该通知时,只有一个文本会显示在另一个活动中。请修复它。

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);
}

1 个答案:

答案 0 :(得分:0)

最后我找到了这个任务的答案。首先写下这一行 onNewIntent(getIntent()); Oncreate()方法。 将此代码添加到您的活动中。

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);
}   

这项任务中的任何疑问都会在你的问题之后发布。