美文网首页
《第一行代码》阅读笔记 (6)

《第一行代码》阅读笔记 (6)

作者: fuxianrui | 来源:发表于2016-06-14 15:17 被阅读0次

一、使用通知

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.从相册中选择照片

相关文章

网友评论

      本文标题:《第一行代码》阅读笔记 (6)

      本文链接:https://www.haomeiwen.com/subject/inyddttx.html