今天看到《第一行代码》的通知栏部分,发现他的方法已经过时了,官方推荐使用Notification.Builder而不是Notification类了,而在设置通知布局样式的时候也该了很多。但大体思路一致,都是使用了Notification类来设置通知和NotificationManager类来管理通知。
于是在网上查了一下他的用法,虽然说官方文档才是正统,但密密麻麻的英文理解起来确实有些费劲(好吧,应该加强自己的英文阅读能力了!)。我一般的习惯是遇到不懂的类或者没见过的类,首先查看API,如果看不懂就去百度搜索这个类,看看有没有大神写过详细博客什么的。即使有时候能看懂文档,也会去百度搜搜,看看理解有没有偏差。
其实,我遇到的问题,大部分情况下,在网上都能查到答案。可见问题的普遍性以及自己还很菜,还有很多常见的问题没有解决。
关于通知的内容这篇博客写的很清楚。
也看了一下他的其他博客,写的都很不错!值得推荐~
简单写了一个通知,这里只给一个MainActivity了,其他的布局文件也就是一个按钮,另一个Activity是什么也无所谓,即使是空的也行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| 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.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); Notification.Builder notification = new Notification.Builder(MainActivity.this); Intent intent = new Intent(MainActivity.this, LoginActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this,0,intent,0); notification .setSmallIcon(R.drawable.pic) .setWhen(System.currentTimeMillis()) .setContentTitle("通知标题") .setContentText("通知的内容") .setContentIntent(pendingIntent); manager.notify(1, notification.build()); } }); } }
|