安卓通知操作

11 篇文章 0 订阅
public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

//        //让通知栏点击后消失和setAutoCancel(true) 功能相同
//        NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE) ;
//        manager.cancel(1);//id就是我们设置的ID

        Button sendNotice = (Button) findViewById(R.id.send_notice);
        sendNotice.setOnClickListener(this);


    }


    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.send_notice:
                String Notification_ID ="com.inone.notificationtest";//必须唯一

                Intent intent =new Intent(this,NotificationActivity.class); //意图去哪个活动
                //PendingIntent实例获取活动
                PendingIntent pi = PendingIntent.getActivity(this,0,intent,0);

                //必须写这一步否则无法显示通知(创建通道)
                NotificationChannel channel = new NotificationChannel(Notification_ID,"自己随便写",NotificationManager.IMPORTANCE_LOW);
                //状态栏通知的管理类,负责发通知、清楚通知等。
                NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
                //创建可以发布通知的通道
                manager.createNotificationChannel(channel);
                //是具体的状态栏通知对象
                Notification notification = new NotificationCompat.Builder(MainActivity.this).setChannelId(Notification_ID)
                        //标题
                        .setContentTitle("大傻瓜")
                        //内容
                        .setContentText("清风不问赶路之人")
                        //指定通知被创建时间
                        .setWhen(System.currentTimeMillis())
                        //设置通知小图标
                        .setSmallIcon(R.mipmap.ic_launcher)
                        //通知大图标
                        .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))
                        .setContentIntent(pi) //启动跳转至活动
                        .setAutoCancel(true) //让通知栏图标消失
                        .build();
                //显示通知
                manager.notify(1,notification);

        }

    }

NotificationCompat.Builder下面一些常用操作:

  • setSound():在通知发出的时候播放一段音频
    eg:setSpund(Uri.fromFile(new File("音乐地址”)));

  • setVibrate():设置手机振动和静止
    eg:setVibrate(new long[] {0,1000,1000,1000});
    注:下标为0的值表示手机静止时长
    下标为1的值表示振动时长
    下标为2的值表示手机静止时长,以此类推
    上面的意思是:通知到来立即振动1秒,静止1秒,在振动1秒,记得添加权限VIBRATE。

  • setLights():设置LED灯闪烁
    eg:setLights(Color.GREEN,1000,1000);
    注:第一个参数指定LED灯的颜色,第二个参数用于指定LED灯亮起时长,第三个参数:LED灯暗去时长

  • setDefaults(NotificationCompat.DEFAULT_ALL)手机默认效果(铃声,振动…)

  • setStyle():用于显示一段长文字以及一张大图片

  • setPriority(NotificationCompat.PRIORITY_DEFAULT):设置通知的重要程度PRIORITY_DEFAULT:默认重要程度
    PRIORITY_MIN:最低
    PRIORITY_MAX:最高
    PRIORITY_LOW:较低
    PRIORITY_HIGH:较高

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android通知类型有以下几种: 1. 普通通知(Notification):最常见的通知类型,用于向用户展示一条简单的文本消息。它通常包含标题、内容和图标。 2. 大文本通知(BigTextStyle):与普通通知类似,但可以显示更多的文本内容。适用于需要展示较长文本的通知。 3. 大图通知(BigPictureStyle):允许在通知中显示一张大图。适用于需要展示图片的通知,比如聊天应用中的用户头像或者新闻应用中的新闻封面。 4. 列表式通知(InboxStyle):可以在通知中显示一个列表,每一项都是一条文本内容。适用于需要展示多个相关信息的通知,比如邮件应用中的邮件列表。 5. 进度条通知(ProgressBar):可以在通知中显示一个进度条,用于表示某项任务的进度。适用于需要告知用户某个任务的进展情况。 6. 媒体控制通知(MediaStyle):用于控制正在播放的音频或视频的通知。可以包含播放、暂停、下一曲等控制按钮,以及显示当前播放状态和封面图。 7. 带按钮通知(Action):可以在通知中添加按钮,用户可以通过点击按钮执行相应操作。比如应用更新通知中的“立即更新”按钮。 8. 悬浮通知(Heads-up):在Android 5.0及以上版本中引入的一种通知类型,可以以悬浮窗口的形式显示在屏幕上方,并且可以在不打开应用的情况下进行快速操作。 以上是Android中常见的几种通知类型,开发者可以根据实际需求选择适合的通知类型来展示信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值