我有一个带有文本视图和按钮的自定义通知。单击按钮时,我想更改TextView的文本。 我做了一个广播,当单击按钮时,该程序开始运行该广播,广播代码为:

package com.mori.sepid.notifications;

 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.util.Log;
 import android.view.ViewGroup;
 import android.app.Notification;
 import android.widget.RemoteViews;
 import android.app.NotificationManager;
 import android.widget.TextView;

 public class button_broadcast_resiver extends BroadcastReceiver {
   public button_broadcast_resiver() {
   }

    @Override
    public void onReceive(Context context, Intent intent) {
        RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.customnoti1);
        remoteViews.setTextViewText(R.id.text,"Hi morteza");
        NotificationManager noti=
        (NotificationManager)context.getSystemService(context.NOTIFICATION_SERVICE);

    }


}

如您在上面的代码中所见,我从RemoteView中创建了一个对象,并将选定的文本放到TextView中,但是我不知道如何将此更改更新到通知面板。

#1楼 票数:1 已采纳

以下代码说明了如何创建自己的通知:

    NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    final Notification notification = new NotificationCompat.Builder(context)
            //here you set icon which will be displayed on top bar
            .setSmallIcon(R.drawable.your_ic_notification)
            //here is title for your notification
            .setContentTitle("tite"/*your notification title*/)
            //here is a content which will be displayed when someone expand action bar
            .setContentText("Some example context string"/*notifcation message*/)
            .build();
    notification.flags = Notification.DEFAULT_LIGHTS | Notification.FLAG_AUTO_CANCEL;

    notificationManager.notify(1000/*some int notification id*/, notification);

另外,如果要添加远程视图,可以使用以下方法:

setContent(RemoteViews remoteView)

Notification.Builder

  ask by Morteza translate from so

未解决问题?本站智能推荐:

2回复

如何通过通知联系服务的方法?

我正在安装音乐播放器。 通知允许用户暂停或跳过歌曲。 我用 为了将此单击传输到承载MediaPlayer及其所有相关方法的MusicService。 我想直接调用此服务的方法部分(例如playNextSong()),但是getService()似乎只允许我启动新服务,而不是调用服务中的
1回复

如果单击,如何删除通知?

所以我想知道如何在用户单击后删除通知中心中的待处理通知。 这是我的广播接收器: 我可以把它放在那个 BCReceiver 的某个地方吗? 谢谢
1回复

是否可以通过通知操作发送LocalBroadcast?

单击通知内的按钮时,我想发送LocalBroadcast。 我知道如何通过常规广播来做到这一点,但我想将广播保留在我的应用程序中。 这可能吗? 我的代码大致是: 并且:
1回复

在实时Android中阅读传入的通知

我正在尝试在文本视图中阅读所有传入的通知... 我想看起来像这样 我找到了一些代码,但是所有代码混杂在一起,无法正常工作,我们将不胜感激。
1回复

从广播中删除短信后,从通知抽屉中清除短信通知

从广播中成功删除SMS后,我无法清除通知抽屉中的通知 1)当我打开短信应用程序时,该短信被删除,但在通知中显示带有味精的短信 2)当我点击短信通知时,它会打开“带有新的空白短信的短信应用” 我试图通过以下方式清除通知抽屉:(1) 我试图通过以下方式清除通知抽屉:(2) 但仍然
3回复

具有AlarmManager,广播和服务的Android通知

这是我管理单个通知的代码: myActivity.java myReceiver.java myAlarmService.java AndroidManifest.xml 如果时间还没有过去,那么一切都会完美进行。 该通知在必须出现时出现。 但是,如果时间已经过去(假设
1回复

JellyBean中的通知-添加操作不起作用

在使用自定义按钮(使用addAction)构建Jelly Bean通知时需要一些帮助。 问题是,我不能让它正常工作。 基本上,我想使用以下参数构建通知:单击通知时,它必须调出我的一项活动,单击按钮时-显示通知时正在运行的播放暂停播放器。 我的代码是:接收方: 在活动的onCreate方
1回复

PendingIntent.getBroadcast不适用于通知抽屉中的默认通知单击/触摸事件-AndroidStudio2.3.3+Java

我已使用PendingIntent.getBroadcast连接了一个通知操作处理程序,该处理程序显示了通知中的操作。 操作正常,当我在抬头通知中使用默认的click事件时,它运行正常。 当通知在托盘中并且抽屉中还有其他通知时,我遇到了问题,我正在尝试对通知中的默认单击/触摸事件进行编程,以