如何检索通过意图传递的数据?

时间:2012-11-28 16:57:34

标签: android string android-intent android-notifications

我通过通知中的意图发送一些数据(字符串)。但是,当我尝试在通知发起的活动中收到它时,我什么都没收到。这是我的代码。请帮忙。

这是通知的代码:

int icon=R.drawable.ic_launcher;
                String ticket="Encrypted message";
                long when=System.currentTimeMillis();
                NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
                Context context1 =getApplicationContext();
                String expandedText="You've received an encrypted message, click to view";
                String expandedTitle="Encrypted Message";
                Notification notification = new Notification(icon, ticket, when);
                Intent intent1=new Intent(context,Try.class);
                intent1.putExtra("MSG","Jumbo");
                PendingIntent launchIntent=PendingIntent.getActivity(context,0, intent1,0);

notification.setLatestEventInfo(context,expandedTitle,expandedText,launchIntent);
                mNotificationManager.notify(1,notification);

以下是我在Try.class中收到它的方式:

t = (TextView)findViewById(R.id.dec);
        String d = "";
        Intent I = getIntent();
        d = I.getStringExtra("MSG");
        String text = "This is an example";
        t.setText(d);

没有错误 - 运行时TextView设置为空

4 个答案:

答案 0 :(得分:0)

getIntent()将无法在那里工作,尝试覆盖活动中的onNewIntent方法。

答案 1 :(得分:0)

而不是

Intent intent1=new Intent(context,Try.class);

更改为

Intent intent1=new Intent(YourActivity.this,Try.class);

onCreate()方法

中试用
t = (TextView)findViewById(R.id.dec);

Bundle extras = getIntent().getExtras(); 
String d;

 if (extras != null) {
      d = extras.getString("MSG");
  }   
t.setText(d);

答案 2 :(得分:0)

你打过电话吗?   setResult(Activity.RESULT_OK,intent) 你的通知者?你需要它,否则Android永远不会重启你的“通话”活动。

答案 3 :(得分:0)

这应该有效,请尝试记录“d”的值

Log.d("Value of D", d);

我认为您的问题是您的TextView未正确设置,因此未显示结果。