0

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

这是通知的代码:

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

4 回答 4

0

那应该可以,尝试记录“d”的值

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

我认为您的问题是您的TextViewt 设置不正确,因此没有显示结果。

于 2012-11-28T17:17:09.490 回答
0

您是否曾经在通知程序中调用 setResult (Activity.RESULT_OK, intent)?您需要它,否则 Android 将永远不会重新启动您的“通话”活动。

于 2012-11-28T17:10:52.963 回答
0

getIntent() 在那里不起作用,请尝试在您的活动中覆盖 onNewIntent 方法。

于 2012-11-28T16:59:43.283 回答
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);
于 2012-11-28T17:07:25.160 回答