单击通知时打开应用程序

时间:2016-04-16 09:10:19

标签: android push-notification

  

嗨!我有简单推送通知的android代码。它工作正常,但当我点击通知中的消息时,我的申请没有打开。

MainActivity

public class MainActivity extends Activity {
EditText ed1,ed2,ed3;
Notification notification;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ed1=(EditText)findViewById(R.id.editText);
    ed2=(EditText)findViewById(R.id.editText2);
    ed3=(EditText)findViewById(R.id.editText3);
    Button b1=(Button)findViewById(R.id.button);
    final NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    b1.setOnClickListener(new View.OnClickListener() {
        @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
        @Override
        public void onClick(View v) {
            String tittle = ed1.getText().toString().trim();
            String subject = ed2.getText().toString().trim();
            String body = ed3.getText().toString().trim();

            Notification.Builder builder = new Notification.Builder(MainActivity.this);
            PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, new Intent(), 0);
            Intent resultIntent = new Intent(String.valueOf(MainActivity.this));
            builder.setSmallIcon(R.drawable.icon)
                    .setContentIntent(pendingIntent)
                    .setContentTitle(tittle)
                    .setContentText(subject)
                    .setSubText(body);

            notification = builder.build();
            manager.notify(0, notification);
        }
    });
}

}

  

帮我解决一下

2 个答案:

答案 0 :(得分:4)

使用Intent并在待处理的intent中传递intent。并且还使用PendingIntent.FLAG_UPDATE_CURRENT而不是0 待定意图的构造函数。

 Intent myintent = new Intent(this, SplashScreen.class);

    PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
                    myintent, PendingIntent.FLAG_UPDATE_CURRENT);

答案 1 :(得分:2)

在创建Intent

之前创建PendingIntent的对象
Intent resultIntent = new Intent(getApplicationContext(),MainActivity.this);

然后将其传递给PendingIntent

PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, resultIntent, 0);
相关问题