Android 将消息从启动活动的活动发送到在单击通知时启动的活动

Android 将消息从启动活动的活动发送到在单击通知时启动的活动,android,android-intent,notifications,android-activity,android-pendingintent,Android,Android Intent,Notifications,Android Activity,Android Pendingintent,我想从正在启动通知的活动向用户单击通知时启动的活动发送一条消息 我只想在通过通知单击按钮时,从一个活动向另一个活动发送一个EditText值。 我试图在Intent中使用putExtra,但随后它显示了NullPointer异常 转到此链接 我已经使用了onNewIntent,但仍然没有得到输出 package com.pdd.notification; import android.app.Activity; import android.app.Notification; import

我想从正在启动通知的活动向用户单击通知时启动的活动发送一条消息

我只想在通过通知单击按钮时,从一个活动向另一个活动发送一个EditText值。 我试图在Intent中使用putExtra,但随后它显示了NullPointer异常

转到此链接

我已经使用了onNewIntent,但仍然没有得到输出

package com.pdd.notification;

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;
import android.widget.EditText;

public class NotificationDemoActivity 
extends Activity implements OnClickListener
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button b=(Button) findViewById(R.id.button1);
    b.setOnClickListener(this);
}

public void onClick(View v) {

    EditText et=(EditText) findViewById(R.id.editText1);
    String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = 
                       (NotificationManager)getSystemService(ns);

    int icon = android.R.drawable.ic_dialog_alert;
    CharSequence tickerText = "Hello";
    long when = System.currentTimeMillis();

    Notification notification = new Notification(icon, tickerText, when);


    Context context = getApplicationContext();
    CharSequence contentTitle = "My notification";
    CharSequence contentText = "Hello World!";
    Intent notificationIntent = new Intent(this, Second.class);
    notificationIntent.putExtra("im",et.getText().toString() );
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0,    
    notificationIntent, 0);


    notification.setLatestEventInfo(context, contentTitle, contentText, 
    contentIntent);

    final int HELLO_ID = 1;

    mNotificationManager.notify(HELLO_ID, notification);

}
}

package com.pdd.notification;
导入android.app.Activity;
导入android.content.Intent;
导入android.os.Bundle;
导入android.util.Log;
导入android.widget.EditText;
公共课第二次扩展活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
/*Intent i=getIntent();
如果(i==null)
返回;
Bundle b=i.getExtras();
String s=b.getString(“im”);//传入消息
EditText et=(EditText)findViewById(R.id.editText1);
et.setText(s);
*/
}
@凌驾
受保护的void onNewIntent(意图){
//Intent i=getIntent();
if(intent!=null)
{
Bundle b=intent.getExtras();
String s=b.getString(“im”);//传入消息
EditText et=(EditText)findViewById(R.id.editText2);
et.setText(s);
对数d(“p”,s);
}
super.onNewIntent(意向);
}
}

我通过API演示获得了解决方案 进行了以下更改

notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
notificationIntent,PendingIntent.FLAG_UPDATE_CURRENT);

+历史上最佳问题标题1
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
notificationIntent,PendingIntent.FLAG_UPDATE_CURRENT);