20170104第一行代码第八章多媒体
一、通知
1、通知创建
(1)创建NotificationManager:
通过Context的getSystemService()获得。
(2)创建Notification:
new Notification(R.drawable.ic_launcher, "This is notification", System.currentTimeMillis());
传入3个参数,分别是图片id,弹出通知时的提示以及弹出时间。
(3)对布局进行设定:
notification.setLatestEventInfo(MainActivity.this, "This is title", "This is content", null);
(4)显示通知
manager.notify(1, notification);
其中,第一个参数是id,必须保证每一个通知id都是不同的。
2、通知点击事件
要使得点击通知有反应,需要使用PendingIntent。
PendingIntent通过getActivity()获得,接收4个参数:Context, 0, intent, flag。
第二个参数通常为0,最后一个参数查表。intent为PendingIntent的意图,即要跳转到哪,需要在intent中定义。
最后,将pi放置在notification.setLatestEventInfo()的第4个参数。
NotificationManager manager=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification=new Notification(R.drawable.ic_launcher, "This is notification", System.currentTimeMillis());
Intent intent=new Intent(MainActivity.this, NotifyActivity.class);
PendingIntent pi=PendingIntent.getActivity(MainActivity.this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
notification.setLatestEventInfo(MainActivity.this, "This is title", "This is content", pi);
manager.notify(1, notification);
另外,需要在点击通知之后关闭通知。填入该通知的id即可。
NotificationManager manager=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
manager.cancel(1);
3、通知的其他属性
除此之外,还可以指定通知的铃声、振动、LED闪烁等。
二、短信
1、接收短信
利用广播机制接收短信。当短信来了,系统会发送一个全局广播,值为android.provider.Telephony.SMS_RECEIVED的广播,这条广播携带与短信相关的所有信息。
2、拦截短信
3、发送短信
三、调用摄像头和相册
四、播放多媒体