我有一个创建通知的简单函数。按下通知时,用户将被重定向到给定的 url:
// makes an immediate notification
public void makeNotification(int icon, String title, String description,
String url, CharSequence tickerText) {
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText, when);
CharSequence contentTitle = title;
CharSequence contentText = description;
Intent notificationIntent = new Intent(Intent.ACTION_VIEW);
notificationIntent.setData(Uri.parse(url));
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
notificationIntent, 0);
notification.setLatestEventInfo(this, contentTitle, contentText,
contentIntent);
// make each notification unique
mNM.notify(currentNotificationId, notification);
currentNotificationId++;
}
每当按下通知时,我想运行一个函数(跟踪通知点击次数)。我将如何做到这一点?
我可以创建一些中间 Activity (运行函数然后将用户转发到 url),这些 Activity 被传递到 PendingIntent 而不是 Intent.ACTION_VIEW,但是有没有更简单的方法?
最佳答案
不要执行 PendingIntent.getActivity(),而是执行 PendingIntent.getBroadcast() 并将您的广播接收器与您的应用一起编写。现在,当用户触摸通知时,您的广播接收器将被激活(将 url 作为 Intent 数据传递)。
在广播接收器的 onRecieve() 内部,执行您的逻辑并像现在一样启动浏览器 Activity 。
关于android - 按下通知时如何运行功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8629974/