Android 多媒体

1.通知
通知一般使用NotificationManger来进行管理,使用Context的getSystemService()来获取

NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

但是安卓各个版本的api不稳定在通知上尤其明显,所以我们一般使用support库里的NotificationCompact类

Notification notification = new NotificationCompat.Builder(context).build();
Notification notification = new NotificationCompat.Builder(context)
        .setContetTitle("This is content title).build();

然后我们调用NotificationManager的notify方法就可以让通知显示出来,notify方法接受两个参数,一个是id,一个是Notification对象

manager.notify(1,notification);

这样子我们就把创建通知的每一步分析完了,这样子就可以创建一个通知,但是当你点击这个通知的时候你会发现没有跳转,没有任何反应,这样子我们需要PendingIntent,這类似于一个延迟通知,只有用户做了某件事他才会去做,他有三个方法用来得到PendingIntent实例,根据需求有getActivity(),getBroadcast(),getService(),参数基本相同,第一个是Context,第二个基本传入0,第三个是一个Intent对象,第四个是确定PendingIntent行为,有四种参数可选,一般传入0就可以了。

Intent intent = new Intent(this,NotificationActivity.class);
PendingIntent pi = PendingIntent.getActivity(this,0,intent,0);
Notification notification = new NotificationCompat.Builder(this).setContentIntent(pi).build();

但是点击完通知并没有消失,有两种方法可以让他消失,一种就是在Builder中设置setAutoCancel(true),第二种就是代码中

NotificationManger manager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
manager.cancel(1);

这个一就是我们之前设置的id号
同时通知可以设置声音,震动,闪烁

Notification notification = new NotificationComapt.Builder(this)
        .....
        .setSound(Uri.fromFile(new File("/dddd")))
        .setVibrate(new long[]{0,1000,1000,1000})//需要在AndroidManifest中声明权限
        .setLights(Color.GREEN,1000,1000)
        .setDefualts(NotificationCompat.DEFAULT_ALL)

为了显示长文本或者大图,就需要使用到setStyle()这个方法了
这里写图片描述

2.调用摄像头拍照
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
从相册中选择图片
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值