一、使用通知
1.通知的基本用法
首先需要一个NotificationManager来对通知进行管理。
NotificationManager manager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
接下来需要创建一个Notification对象,Notification的有参构造函数接收三个参数, 第一个参数用于指定通知的图标,第二个参数用于指定通知的ticker内容,当通知刚被创建的时候, 它会在系统的状态栏一闪而过, 属于一种瞬时的提示信息。 第三个参数用于指定通知被创建的时间, 以毫秒为单位, 当下拉系统状态栏时, 这里指定的时间会显示在相应的通知上。因此,创建一个Notification对象就可以写成:
Notification notification = new Notification(R.drawable.icon, "This is ticker text",System.currentTimeMillis());
创建好了Notification对象后,我们还需要对通知的布局进行设定,这里只需要调用Notification的setLatestEventInfo()方法就可以给通知设置一个标准的布局。
notification.setLatestEventInfo(context, "This is content title", "This is content text", null);
调用NotificationManager的notify()方法就可以让通知显示,notify()方法接收两个参数,第一个参数是id,要保证为每个通知所指定的id都是不同的。第二个参数则是Notification对象。因此,显示一个通知就可以写成:
manager.notify(1, notification);
要想实现通知的点击效果,需要PendingIntent,可以把PendingIntent简单地理解为延迟执行的Intent。它主要提供了几个静态方法用于获取PendingIntent的实例,可以根据需求来选择是使用getActivity()方法、getBroadcast()方法、还是getService()方法。
2.通知的高级技巧
使用声音、震动、灯光闪烁
二、接发短信
1.接收短信
当手机接收到一条短信的时候, 系统会发出一条值为android.provider.Telephony.SMS_RECEIVED的广播, 这条广播里携带着与短信相关的所有数据。 每个应用程序都可以在广播接收器里对它进行监听, 收到广播时再从中解析出短信的内容即可。
2.拦截短信
关键性的步骤只有两步。一是提高MessageReceiver的优先级,让它能够先于系统短信程序接收到短信广播。 二是在onReceive()方法中调用abortBroadcast()方法, 中止掉广播的继续传递。
3.发送短信
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(to.getText().toString(), null,msgInput.getText().toString(), null, null);
先调用SmsManager的getDefault()方法获取到SmsManager的实例,然后再调用它的sendTextMessage()方法就可以去发送短信了。sendTextMessage()方法接收五个参数, 其中第一个参数用于指定接收人的手机号码, 第三个参数用于指定短信的内容,第四个参数来对短信的发送状态进行监控。
sendFilter = new IntentFilter();
sendFilter.addAction("SENT_SMS_ACTION");
sendStatusReceiver = new SendStatusReceiver();
registerReceiver(sendStatusReceiver, sendFilter);
send.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SmsManager smsManager = SmsManager.getDefault();
Intent sentIntent = new Intent("SENT_SMS_ACTION");
PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this,
0, sentIntent, 0);
smsManager.sendTextMessage(to.getText().toString(),null,
msgInput.getText().toString(), pi, null);
}
});
三、播放多媒体文件
1.播放音频
在Android中播放音频文件一般都是使用MediaPlayer类来实现的,它对多种格式的音频文件提供了非常全面的控制方法,从而使得播放音乐的工作变得十分简单。
2.播放视频
播放视频文件其实并不比播放音频文件复杂, 主要是使用VideoView类来实现的。 这个类将视频的显示和控制集于一身,使得我们仅仅借助它就可以完成一个简易的视频播放器。
四、调用摄像头和相册
1.调用摄像头进行拍照
2.从相册中选择照片