2011-06-03 53 views
2

我需要创建两个状态栏Notifications.when我点击第一个通知图标,我已经disaply一些数据(ex.activity1),如果我点击第二个通知图标。 ,我必须显示另一个数据(Ex.activity2)。我创建的很好。但我无法显示数据。如何将数据从通知传递到android

我的代码:

package com.collabera.labs.sai; 

import java.util.ArrayList; 

import android.R.string; 
import android.app.Activity; 
import android.app.Notification; 
import android.app.NotificationManager; 
import android.app.PendingIntent; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

public class SimpleNotification extends Activity { 

    private NotificationManager mNotificationManager; 
    private int SIMPLE_NOTFICATION_ID_A = 0; 
    private int SIMPLE_NOTFICATION_ID_B = 1; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 

     Button start = (Button) findViewById(R.id.notifyButton);   
     //Button cancel = (Button)findViewById(R.id.cancelButton); 

     start.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       // display A 
       displayNotification("Extra for A", "This is A", "Some text for activity A", MyActivityA.class, SIMPLE_NOTFICATION_ID_A); 
       // display B 
       displayNotification("Extra for B", "This is B", "Some text for activity B", MyActivityB.class, SIMPLE_NOTFICATION_ID_B); 
      } 
     }); 
    } 

    private void displayNotification(String extra, String contentTitle, String contentText, Class<?> cls, int id) {  
     Notification notifyDetails = new Notification(R.drawable.icon, "New Alert!", System.currentTimeMillis()); 
     Intent intent = new Intent(this, cls); 
     Bundle b=new Bundle(); 
     b.putString("extra", extra); 
     intent.putExtras(b); 
     PendingIntent contentIntent = PendingIntent.getActivity(getApplicationContext(), id, intent, PendingIntent.FLAG_ONE_SHOT); 
     notifyDetails.setLatestEventInfo(getApplicationContext(), contentTitle, contentText, contentIntent); 
     mNotificationManager.notify(id, notifyDetails); 

} 

} 

在MyActivityA:

TextView tv; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.sub); 
    tv=(TextView)findViewById(R.id.tv); 
    Bundle b = getIntent().getExtras(); 

    String value = b.getString("extra"); 
    tv.setText(value); 

什么在this..It didnt错误显示的文本..

回答

0

试试这个: 第一项活动:

int requestID = (int) System.currentTimeMillis(); Intent intent = new Intent(this, NotificationReceiverActivity.class); intent.putExtra("data1", "My Data 1"); intent.putExtra("data2", "My Data 2"); PendingIntent pIntent = PendingIntent.getActivity(this, requestID, intent, 0); 

次活动,从第一项活动叫

把这个oncreated方法

Bundle extras = getIntent().getExtras(); 
if(extras != null){ 
    String data1 = extras.getString("data1"); 
    String data2 = extras.getString("data2"); 
    Log.e("Ddata1" + data1, data2); 
} 
相关问题