是否可以将onclick监听器添加到android中的remoteview

时间:2012-09-05 15:04:36

标签: android notifications buttonclick remoteview

我创建了一个通知方法,如下所示:

NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    Notification notification;

        notification = new Notification(R.drawable.messageicon, "You have a new message",
                System.currentTimeMillis());
        notification.flags |= Notification.FLAG_AUTO_CANCEL;

        RemoteViews view = new RemoteViews(getPackageName(), R.layout.notification);
        view.setImageViewResource(R.id.image, R.drawable.ic_launcher);
        view.setTextViewText(R.id.title, "New Message");
        view.setTextViewText(R.id.text, message);
        notification.contentView = view;
        Intent intent = new Intent();
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
        PendingIntent activity = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
        notification.contentIntent = activity;
        notificationManager.notify(0, notification);

我想在状态栏上添加一个按钮,点击该按钮时,应显示一个弹出窗口。 任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:11)

你不能直接做,但你可以使用RemoteViews.setOnClickPendingIntent(int viewId,PendingIntent pendingIntent)。

如果要在onClick事件的所有按钮上调用相同的Activity,请确保使用不同的字符串添加Intent.setAction(String action),以便系统不会将所有意图合并为仅包含所有按钮。

然后将您的活动主题化为对话框,您将有一个弹出窗口。