Notification学习(3)--setLatestEventInfo cannot be resolved

当我用上两篇所讲到的内容去写一个demo时,就会有以下的提示:
setLatestEventInfo cannot be resolved
我上Stack Overflow查左一下原因,原来是版本问题。
我按照网上所给出的方法更改了一下代码。以下代码需要设置minSdkVersion 16以上。

 private NotificationManager notificationManager;//NotificationManager对象
String service=NOTIFICATION_SERVICE;//获取系统服务
notificationManager= (NotificationManager) getSystemService(service);
Intent intent=new Intent(MainActivity.this,MainActivity.class);
                PendingIntent pendingIntent=PendingIntent.getActivity(MainActivity.this, 0, intent, 0);
                Notification.Builder builder=new Notification.Builder(MainActivity.this);
                builder.setAutoCancel(true);//点击后会自动消失
                builder.setContentTitle("我的标题");
                builder.setContentText("我的内容");
                builder.setTicker("this is a ticker");
                builder.setContentInfo("信息");
                builder.setDefaults(Notification.DEFAULT_SOUND);//声音
                //builder.setDefaults(Notification.DEFAULT_VIBRATE);//震动
                //builder.setDefaults(Notification.DEFAULT_LIGHTS);//闪烁灯
                //builder.setDefaults(Notification.DEFAULT_ALL)//声音、震动、闪烁灯
                /**
                 * 自定义震动*/
                long[] vibrate={0,100,200,300};
                builder.setVibrate(vibrate);
                /**
                 * 自定义闪烁灯*/
                builder.setLights(0xff00ff00,300,1000);
                builder.setContentIntent(pendingIntent);
                builder.setWhen(System.currentTimeMillis());
                builder.setSmallIcon(R.mipmap.ic_launcher);
                builder.setOngoing(true);
                //builder.build();
                //notification=builder.getNotification();
                //Intent intent=new Intent(MainActivity.this,MainActivity.class);
                //PendingIntent pendingIntent=PendingIntent.getActivity(MainActivity.this, 0, intent, 0);
                //notification.setLatestEventInfo(this,"我的标题","我的内容",pendingIntent);
                notificationManager.notify(1,builder.build());//发出通知
            }
        });
        cancelBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                notificationManager.cancel(1);//取消通知
            }
        });

注意的是,自定义设置了震动,需要在配置文件里声明权限,不然程序会崩溃的。

<uses-permission android:name="android.permission.VIBRATE"/>

截图1
截图2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值