代码如下所示:
public class MainActivity extends AppCompatActivity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button= (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this,TongZhi.class);
PendingIntent pendingIntent=PendingIntent.getActivity(MainActivity.this,0,intent,0);//pendingIntent就是延迟执行的intent,不像intent一样立即执行
NotificationManager notificationManager= (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification notification=new NotificationCompat.Builder(MainActivity.this)
.setContentTitle("这是标题")
.setContentText("这是内容")
.setWhen(System.currentTimeMillis())//显示了notification创建的时间
.setSmallIcon(R.mipmap.ic_launcher)//该方法实现了下拉前notification在通知栏中的小图标
.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))//该方法实现了下拉后notification中的大图标
.setContentIntent(pendingIntent)//该方法实现了用户点击notification之后实现界面的跳转
.setAutoCancel(true)//当用户点击notification之后,通知栏的notification自动消失
.setVibrate(new long[]{0,1000,1000,1000})//设置来了通知,手机会震动,下标为0的值表示手机静止的时长,下标为1表示震动的时长,以此类推,记得在androidmanifest中申请android.permission.VIBRATE权限
.setLights(Color.GREEN,2000,500)//设置来了通知,手机会出现闪光,第一个参数是闪光灯的颜色,第二个参数是闪光灯亮起的时长,第三个参数是闪光灯暗去的时长
//.setDefaults(NotificationCompat.DEFAULT_ALL)//有了这句代码就不用自己设置通知的声音,震动,闪光灯颜色了,系统会根据当前手机的环境来自行设定
// /*.setStyle(new NotificationCompat.BigTextStyle().bigText("等丰厚好礼卡号发的拉伸的撒谎flash发" +
// "啊三联单看法哈说了句客服哈森林砍伐还是会尽快落实的法律开啥会发生了快点发货回复拉" +
// "屎的看法和"))//该方法是用来设置长文本的,这样就不会因为文本太长而出现省略号了,但是在我手机上是没有效果*/
//.setStyle(new NotificationCompat.BigPictureStyle().bigPicture(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher)))//该方法是用来设置图片的,但是在我手机上是没有效果
//.setPriority(NotificationCompat.PRIORITY_MAX)//设置该通知的重要程度,但是在我手机上是没有效果
.build();
notificationManager.notify(1,notification);
}
});
}
}