精华内容
下载资源
问答
  • Android自定义通知
    2021-05-26 10:34:15

    Notification notification = new Notification();

    notification.flags = Notification.FLAG_ONGOING_EVENT;

    notification.icon = icon;

    RemoteViews contentView = new RemoteViews(getPackageName(),

    R.layout.custom_notification);

    contentView.setImageViewResource(R.id.image, R.drawable.b_10);

    contentView.setTextViewText(R.id.title, "Custom zgłoszenie");

    contentView.setTextViewText(R.id.text, "test test test");

    notification.contentView = contentView;

    NotificationIntent Intent = new Intent(BatteryInfoService.this,

    BatteryInfoActivity.class);

    ContentIntent PendingIntent = PendingIntent.getActivity(ta, 0,

    notificationIntent, 0);

    notification.contentIntent = contentIntent;

    mNotificationManager.notify(BATTERY_ID, notification);有以下错误:

    NotificationIntent Intent = new Intent(BatteryInfoService.this,

    BatteryInfoActivity.class);

    ContentIntent PendingIntent = PendingIntent.getActivity(ta, 0,

    notificationIntent, 0);

    notification.contentIntent = contentIntent;错误:

    NotificationIntent cannot be resolved to a type

    Multiple markers at this line

    - ContentIntent cannot be resolved to

    a type

    - ta cannot be resolved to a variable

    contentIntent cannot be resolved to a variable

    更多相关内容
  • 当针对相同类型的事件多次发出通知,作为开发者,应该避免使用全新的通知,这时就应该考虑更新之前通知栏的一些值来达到提醒用户的目的。例如我们手机的短信系统,当不断有新消息传来时,我们的通知栏仅仅是更改传来...
  • 本文实例讲述了Android不使用自定义布局情况下实现自定义通知栏图标的方法。分享给大家供大家参考,具体如下: 自定义通知栏图标?不是很简单么。自定义布局都不在话下! 是的,有xml布局文件当然一切都很简单,如果...
  • 关于Android 通知栏主要是基于Android 4.x、Android 5.x、Android 7.x为解决界限,例如,你可能解决Android 5.x以上版本标题字体颜色适配问题,却发现通知小图标竟然却是小白块等等。
  • 自定义标准视图64dip的通知栏,功能丰富,敬请下载并指点不足。
  • Android自定义通知显示在通知栏上,小例子
  • Android 实现自定义通知栏,并不断更新通知栏的进度条,模拟下载效果。 注:只是模拟下载进度,没有下载功能。
  • Android 使用Notification自定义通知栏显示。自定义系统状态栏通知类NotificationExtend,也可以手动更新状态栏。依据此项目可以做成线程接受,或者广播接受自动更新。我博客网址: ...
  • notification-Android带按钮自定义通知

    热门讨论 2015-03-23 11:49:08
    Anroid,一个简单的带按钮自定义通知栏,欢迎下载试用,人人为我,我为人人,共同学习,共同进步
  • Notification系统通知和自定义通知小列子
  • 自定义通知栏notification,类似酷我音乐在后台运行时,带有按钮的通知栏,可点击下一曲、上一曲、暂停、播放、删除等按钮可响应,可直接运行的源码
  • 清除自定义通知

    2015-02-10 18:53:43
    任务栏和[开始]菜单属性-->自定义。 你会发现有很多之前的记录。 运行此文件,即可清除。
  • 自定义通知声音

    2016-06-20 18:14:34
    自定义通知栏声音 通知栏跳转并传递数据 声音生成可以去 http://download.csdn.net/detail/y1067454341/9554736 下载
  • 自定义通知栏的布局时,为了复制了一个layout.xml文件,引用,但一直报错android.app.RemoteServiceException: Bad notification posted frompackage com.example.notification: Couldn‘t expand RemoteViewsfor: ...

    自定义通知栏的布局时,为了复制了一个layout.xml文件,引用,但一直报错

    android.app.RemoteServiceException: Bad notification posted from

    package com.example.notification: Couldn‘t expand RemoteViews

    for: StatusBarNotification(pkg=com.example.notification id=2

    tag=null score=0 notn=Notification(pri=0 contentView=com.example.notification/0x7f030001 vibrate=null

    sound=null defaults=0x0 flags=0x10 kind=[null])

    user=UserHandle{0})

    // 获得通知管理器

    NotificationManager nfManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

    Notification myNotification = new Notification();

    // 提醒快讯

    myNotification.tickerText = "android:你好";

    // 设置通知时间

    myNotification.when = System.currentTimeMillis();

    // 设置图标

    myNotification.icon = R.drawable.ic_launcher;

    // 设置通知点击的动作

    Intent intent = new Intent(this, MainActivity.class);

    // 一个未来(预先)的动作,,用于点击或清除通知时的动作,

    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,

    intent, 0);

    myNotification.contentIntent = pendingIntent;

    //设置远程视图

    RemoteViews remoteViews = new RemoteViews(getPackageName(),R.layout.notification_layout);

    myNotification.contentView = remoteViews;

    myNotification.flags = Notification.FLAG_AUTO_CANCEL;

    nfManager.notify(2,myNotification);

    找了很久发现原因是:设置远程布局时,布局文件里面的按钮设置了静态的点击事件

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:onClick="showNotify"

    android:text="通知"/>

    删除这个android:onClick="showNotify" 就可以运行了。

    原文:http://www.cnblogs.com/zysun/p/5380744.html

    展开全文
  • 需求1:在Widget初始化后就发送一次通知 需求2:通知中需要携带Size作为数据 分析:flutter库里有一个SizeChangedLayoutNotification及与其配合工作的SizeChangedLayoutNotifier、_RenderSizeChangedWithCallback ,...
  • 为了确保您的通知在不同的 Android 版本上都能呈现最佳的...注意:使用自定义通知布局时,请特别注意确保您的自定义布局适用于不同的设备屏幕方向和分辨率。虽然对于所有界面布局,此建议都适用,但它对通知布局而言...

    为了确保您的通知在不同的 Android 版本上都能呈现最佳的视觉效果,您应始终使用标准通知模板构建通知。但是,如果系统模板不能满足您的需求,您可以提供自己的通知布局。

    如果您希望在通知中提供更多内容,还可以考虑使用某个展开式通知模板,而不是构建自定义布局。

    注意:使用自定义通知布局时,请特别注意确保您的自定义布局适用于不同的设备屏幕方向和分辨率。虽然对于所有界面布局,此建议都适用,但它对通知布局而言尤为重要,因为抽屉式通知栏中的空间非常有限。自定义通知布局的可用高度取决于通知视图。通常情况下,收起后的视图布局的高度上限为 64 dp,展开后的视图布局的高度上限为 256 dp。

    为内容区域创建自定义布局

    如果您需要自定义布局,可以将

    该 API 的工作方式与展开式通知模板类似,都是基于基本通知布局,如下所示:

    例如:

    Kotlin

    // Get the layouts to use in the custom notification

    val notificationLayout = RemoteViews(packageName, R.layout.notification_small)

    val notificationLayoutExpanded = RemoteViews(packageName, R.layout.notification_large)

    // Apply the layouts to the notification

    val customNotification = NotificationCompat.Builder(context, CHANNEL_ID)

    .setSmallIcon(R.drawable.notification_icon)

    .setStyle(NotificationCompat.DecoratedCustomViewStyle())

    .setCustomContentView(notificationLayout)

    .setCustomBigContentView(notificationLayoutExpanded)

    .build()Java

    // Get the layouts to use in the custom notification

    RemoteViews notificationLayout = new RemoteViews(getPackageName(), R.layout.notification_small);

    RemoteViews notificationLayoutExpanded = new RemoteViews(getPackageName(), R.layout.notification_large);

    // Apply the layouts to the notification

    Notification customNotification = new NotificationCompat.Builder(context, CHANNEL_ID)

    .setSmallIcon(R.drawable.notification_icon)

    .setStyle(new NotificationCompat.DecoratedCustomViewStyle())

    .setCustomContentView(notificationLayout)

    .setCustomBigContentView(notificationLayoutExpanded)

    .build();

    请注意,通知的背景颜色可能会因设备和版本而异。因此,您应始终在自定义布局中应用支持库样式,例如对文本使用

    android:layout_width="wrap_content"

    android:layout_height="match_parent"

    android:layout_weight="1"

    android:text="@string/notification_title"

    android:id="@+id/notification_title"

    style="@style/TextAppearance.Compat.Notification.Title" />

    另外,请避免在

    创建完全自定义的通知布局

    如果您不希望使用标准通知图标和标题装饰通知,请按照上述步骤使用注意:建议您不要使用未经装饰的通知,因为这会使通知与它的其余部分不匹配,进而导致通知在向通知区域应用了不同样式的不同设备上显示时,出现严重的布局兼容性问题。

    如需支持低于 Android 4.1(API 级别 16)的 Android 版本,您还应调用

    如需获取更多使用通知的示例代码,请参阅 Android 通知示例。

    展开全文
  • 之前做音乐播放器的需求中有要通知栏部分,发现不同手机显示的系统通知栏...我们可以自定义Notification,并且可以设置contentView以及bigContentView从而达到我们想要的布局以及背景颜色。RemoteViews仅支持...

    之前做音乐播放器的需求中有要通知栏部分,发现不同手机显示的系统通知栏千奇百怪不统一,需要适配。分析发现目前大部分手机通知栏不是白色就是深色,因此经过考虑定义两种不同的布局,根据不同通知栏背景颜色来创建不同的RemoteViews。我们可以自定义Notification,并且可以设置contentView以及bigContentView从而达到我们想要的布局以及背景颜色。

    RemoteViews仅支持FrameLayout、LinearLayout、RelativeLayout三种布局控件和AnalogClock、Chronometer、Button、ImageButton、ImageView、ProgressBar、TextView、ViewFlipper、ListView、GridView、StackView和AdapterViewFlipper这些显示控件,不支持这些类的子类或Android提供的其他控件,否则会引起异常。

    下面从我的需求实现来实现两种布局:

    深色RemoteViews layout.xml

    布局的高度最高应该不超过256dp,但是有些手机锁屏显示不全,因此我限制在64dp,基本上不会有锁屏显示不全问题。

    白色RemoteViews layout.xml

    基本布局只改变了背景颜色和图片。

    白色效果如图:

    656993978533d388e3e8a70402ce7322.png

    这里我的需求是音频类的通知栏所以自定义的notication的style为MediaStyle

    notificationBuilder

    .setStyle(new android.support.v4.media.app.NotificationCompat.MediaStyle()

    // .setShowActionsInCompactView(

    // new int[]{0, 1, 2})

    .setMediaSession(mSessionToken));

    看一下自定义的Notification:

    public Notification createNotification() {

    Log.d(TAG, "createNotification. mMediaMetadata=" + mMediaMetadata);

    // 创建通知栏

    if (mMediaMetadata == null || mPlaybackState == null) {

    return null;

    }

    // Notification channels are only supported on Android O+.

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

    createNotificationChannel();//Android O以上必须要创建NotificationChannel

    }

    final NotificationCompat.Builder notificationBuilder =

    new NotificationCompat.Builder(mMusicService, CHANNEL_ID);

    RemoteViews normalView;

    if(isDarkNotificationTheme){//判断是否使用深色通知栏

    normalView = new RemoteViews(mMusicService.getPackageName(), R.layout.normal_notification);

    }else{

    normalView = new RemoteViews(mMusicService.getPackageName(), R.layout.normal_notification_white);

    }

    normalView.setOnClickPendingIntent(R.id.widget_prev, mPreviousIntent);

    normalView.setOnClickPendingIntent(R.id.widget_next, mNextIntent);

    if (mPlaybackState.getState() == PlaybackStateCompat.STATE_PLAYING) {

    if(NotifiationColorUtil.isDarkNotificationTheme(mMusicService)){

    normalView.setOnClickPendingIntent(R.id.widget_play, mPauseIntent);

    normalView.setImageViewResource(R.id.widget_play,R.drawable.audioplayer_play_playing_white);

    }else{

    normalView.setOnClickPendingIntent(R.id.widget_play, mPauseIntent);

    normalView.setImageViewResource(R.id.widget_play,R.drawable.audioplayer_play_playing_black);

    }

    } else {

    if(NotifiationColorUtil.isDarkNotificationTheme(mMusicService)){

    normalView.setOnClickPendingIntent(R.id.widget_play, mPlayIntent);

    normalView.setImageViewResource(R.id.widget_play,R.drawable.audioplayer_play_pause_white);

    }else{

    normalView.setOnClickPendingIntent(R.id.widget_play, mPlayIntent);

    normalView.setImageViewResource(R.id.widget_play,R.drawable.audioplayer_play_pause_black);

    }

    }

    MediaDescriptionCompat description = mMediaMetadata.getDescription();

    normalView.setTextViewText(R.id.widget_title,getAppName(mMusicService));

    normalView.setTextViewText(R.id.widget_artist,description.getTitle());

    Bitmap art = null;

    if (description.getIconUri() != null) {

    // This sample assumes the iconUri will be a valid URL formatted String, but

    // it can actually be any valid Android Uri formatted String.

    // async fetch the album art icon

    String artUrl = description.getIconUri().toString();

    art = AlbumArtCache.getInstance().getBigImage(artUrl);

    if (art == null) {

    // use a placeholder art while the remote art is being downloaded

    art = BitmapFactory.decodeResource(mMusicService.getResources(),

    R.drawable.audioplayer_ic_notification);

    }

    }

    notificationBuilder

    .setStyle(new android.support.v4.media.app.NotificationCompat.MediaStyle()

    // .setShowActionsInCompactView(

    // new int[]{0, 1, 2})

    .setMediaSession(mSessionToken))

    .setPriority(NotificationCompat.PRIORITY_MAX)

    .setColor(mNotificationColor)

    .setSmallIcon(R.drawable.audioplayer_ic_notification)

    .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)

    .setContentIntent(createContentIntent(description));

    normalView.setImageViewBitmap(R.id.widget_album,art);

    setNotificationPlaybackState(notificationBuilder);

    Notification notification=notificationBuilder.build();

    notification.contentView=normalView;// 将自定义的view设置给notification

    notification.bigContentView=normalView;//将自定义的view设置给notification

    return notification;

    }

    @RequiresApi(Build.VERSION_CODES.O)

    public void createNotificationChannel() {

    if (mNotificationManager.getNotificationChannel(CHANNEL_ID) == null) {

    NotificationChannel notificationChannel =

    new NotificationChannel(CHANNEL_ID,

    "YOUR_Channel_ID",

    NotificationManager.IMPORTANCE_LOW);

    notificationChannel.setLockscreenVisibility(Notification.VISIBILITY_SECRET);

    notificationChannel.setDescription("Channel ID for YOU");

    mNotificationManager.createNotificationChannel(notificationChannel);

    }

    }

    通过以上基本能适配大部分手机通知栏。

    更多文章请关注公众号:

    展开全文
  • 借助iOS 10,Apple现在允许应用程序开发人员为发送给用户的通知创建自定义界面。 在Messages应用程序中显示了该框架的可能性,您可以在其中查看对话界面,就像在应用程序本身中一样。 新的UserNotificationsUI...
  • Android自定义通知栏显示

    千次阅读 2018-03-09 15:13:37
    本文主要想说一下android项目开发中经常会使用到通知机制中的通知栏框架(Notificaiton)。通知栏位于设备的顶层,可以展开的通知列表。通知栏的主要作用大概可以分为三大块: 显示未读的消息(短信消息、QQ、微信...
  • map = new hashmap();... // 自定义打开的界面 i.setflags(intent.flag_activity_new_task); context.startactivity(i); } else { log.d(tag, "unhandled intent - " + intent.getaction()); } } }
  • Android 自定义通知声音在安卓开发中、很多时候要使用通知提醒用户、那么使用通知就会设计到通知的提示音、那么这篇文章就和大家一起讨论一下提示音的问题1、自定义声音 声音文件放在ram目录下,没有此目录自己创建...
  • 1自定义一个方法弹出通知栏privatevoidnotifyCust(){notId++;NotificationManagernotificationManager=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);if(android.os.Build.VERSION.SDK_INT>=...
  • Notification支持文字内容...1.更新系统通知Notification显示数据 1.1创建通知 /** * 创建服务通知 */ private fun createForegroundNotification(): Notification { val builder: NotificationCompat.Builder
  • Android自定义通知

    2020-05-10 16:19:26
    GitHub:https://github.com/xxhhxhh/myandroid/tree/master/the_custom_notification
  • 自定义通知

    2014-06-13 01:18:15
    有时候我们需要对通知自己做些改变,制作属于自己的通知
  • 安卓通知 展示如何使用Android简单Toast、自定义Toast、简单通知和自定义通知 希望你会喜欢 :) 截屏
  • 通知测试 测试应用以使用通知和自定义通知

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 301,754
精华内容 120,701
关键字:

自定义通知