繁体   English   中英

单击通知而不启动活动Android

[英]Clicking notification without starting activity Android

我是android编程的新手,我刚刚学习了如何通过IntentPendingIntent notification 我想知道是否可以在不启动新Activity情况下使此通知可单击(链接到MainActivity )。

这就是我现在在MainActivity拥有的功能(不包括AlarmReceiver ):

Intent alarmIntent = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);
AlarmManager manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
manager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);

我认为我应该将“ this”更改为其他名称,但是我不知道该怎么做。 任何帮助,将不胜感激!

您可以使用通知生成器,在本例中为compat构建器。

 NotificationCompat.Builder

设置内容后,我从这些参数中了解了我的东西。 您必须一次替换您尊敬的人。

builder.setContentTitle(params.getTitle())
            .setContentText(params.getText())
            .setWhen(params.getTime())
            .setTicker(params.getTickerText())
            .setPriority(params.getPriority())
            .setOngoing(params.isOngoing())
            .setOnlyAlertOnce(true)
            .setAutoCancel(params.getAutoCancel())
            .setStyle(params.getStyle());

创建PendingIntent并通过构建器将其添加到Notification。 此意图应指向您的启动器活动,从那里您可以在OnCreate中进行处理。

 builder.setContentIntent(pendingIntent);

然后推送通知

 mNotificationManager.notify(id, notification);

您还可以使这些通知指向BroadCastReceiver,并在其onReceive方法上处理对该通知的单击。

       Intent alarmIntent = new Intent(this, MainActivity.class);
      PendingIntent intent = PendingIntent.getActivity(this, 0,
       alarmIntent , PendingIntent.FLAG_UPDATE_CURRENT);
       AlarmManager manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
     Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(System.currentTimeMillis());
    manager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),    pendingIntent); ...try this

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM