• notification-应用实例


    这几天接触到了notification,现在就把它的常用方法总结下。

    直接看如下代码就行了

    ComponentName componetName = new ComponentName("com.android.gallery3d",
                    "com.android.camera.CameraLauncher");
            intent = new Intent();
            intent.setComponent(componetName);
            //第一个参数不能随便写,因该有地方用到了它
            RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.notify);
            Drawable drawable =this.getResources().getDrawable(R.drawable.ic_launcher);
            Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();
            pendingIntent = PendingIntent.getActivity(this, 100, intent, PendingIntent.FLAG_UPDATE_CURRENT);
            builder = new Notification.Builder(this)
                    .setTicker("haha")//当通知来的时候,滚动显示在状态栏上的文本
                    //点击通知,是否把通知从通知栏移除
                    .setAutoCancel(true)
                    //通知栏自定义布局,覆盖setconttext、title方法
                    .setContent(remoteViews)
                    //没有自定义布局的情况下,显示在通知栏上的标题跟描述内容
                    .setContentText("contentext").setContentTitle("contextile")
                    //正在进行的事件,不明白什么作用
                    .setOngoing(true)
                    //是否在通知栏默认布局上显示通知时间
                    .setShowWhen(false)
                    //显示在通知栏跟状态栏的小图标。这个必须有,否则通知不会起效果,虽然并不会报错
                    .setSmallIcon(R.drawable.abc_ab_bottom_solid_dark_holo)
                    //大图标,显示在通知栏上,这时候,小图标会显示在大图表右下角
                    .setLargeIcon(bitmap)
                    //通知栏点击事件启动
                    .setContentIntent(pendingIntent);
                    
            notification = builder.build();
            notificationManager = (NotificationManager) this
                    .getSystemService(Context.NOTIFICATION_SERVICE);
            bt1 = (Button) findViewById(R.id.bt1);
            bt2 = (Button) findViewById(R.id.bt2);
            bt3 = (Button) findViewById(R.id.bt3);
            bt1.setOnClickListener(new OnClickListener() {
    
                @SuppressLint("NewApi")
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
    
                    notificationManager.notify(100, notification);
                    notificationManager.notify(101, notification);
    
                }
            });
            bt2.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
    notificationManager.cancelAll();
                }
            });

    结果如下

    通知栏的使用其实也非常的简单,我们只要知道它上面的几条常用属性就行了。

  • 相关阅读:
    转: requirejs压缩打包r.js使用示例 2 (~~很详细的教程)
    转:requirejs打包压缩r.js使用示例
    转: RequireJS Optimizer 的使用和配置方法
    转:requirejs:让人迷惑的路径解析(~~不错)
    转: requirejs中文api (详细)
    转: 让html5标签在ie8及以下的被正确解析的解决方案
    浏览器对body节点scrollTop解析的差异
    vue全局配置
    vue watch 深度监听以及立即监听
    Vue插件
  • 原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_noti_15713132.html
Copyright © 2020-2023  润新知