第八章 丰富你的程序-运用手机多媒体

8.1 将程序运行到手机上

8.2 使用通知(Notification)

    第一步,获取通知管理器
    NotificationManager manger = (NotificationManager)
        getSystemService(Context.NOTIFICATION_SERVICE);

    Notification notification = new NotificationCompat.Builer(context).build();
    
    如果是安卓8.0以上的系统,则要添加以下代码
    String channelId = "chat";
    String channelName = "聊天消息";
    int importance = NotificationManager.IMPORTANCE_HIGH;
    NotificationChannel channel = null;
            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {//
                channel = new NotificationChannel(channelId,channelName,importance);//第二步
                manager.createNotificationChannel(channel);//第三步
            } else {
                Log.d("MainActivity", "error ");
            }
    同时修改    Notification notification = new NotificationCompat.Builer(context, channelId)


    第二步,创建一个Notification对象
    
    Notification notification = new NotificationCompat.Builer(context)
        .setContentTitle("This is content title")
        .setContentText("This si content test)
        .setWhen(System.currentTimeMillis())
        .setSmallIcon(R.drawable.small_icon)
        .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.large_icon))
        .build();

    第三步,调用NotificationManager的notify()方法
    
    manager.notify(1, notification);        第一个参数表示第个通知的ID号,第二个参数表示Notification对象
    
    第四步,产生点击进入活动效果
    
        先新建一个NotificationActivity活动,
        然后再, 
            Intent intent = new Intent(this, NotificationActivity.class);
            PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);
            第一个参数,表示上下文,第三个参数表示一个Intent对象,第二,四个一般传0,0;


            在原来的基础上添加, setContentIntent(pi)
            再点击会启动intent;
    第五步,点击,取消通知效果
        方案一, 在基础上添加,setAutoCanel(true)
        方案二,    intent活动中,onCreate添加如下代码:
                NotificationManager  manaer= (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
                manager.canel(1);    参数为通知的ID号
        

    8.2.2 通知的进阶技巧
        
        .setSound(uri.fromFile(new File("/system/media/audio/ringtones/Luna.ogg")));
        设置通知的声音


        setVibrate(new long[] {0,300,500,700});
        振动:延迟0ms,然后振动300ms,在延迟500ms, 接着再振动700ms
        还要添加权限
        <uses-permission android :name=""android.permission.VIBRATE/>    

        setLights(color.GREEN, 5000, 1000)
        设置颜色,第二,三参数表示,明,暗的时长,
        
        如果不想设置,可以使用默认设置,如
        setDefaults(NoticicationCompat.DEFAULT_ALL)

    8.2.3 通知的高级功能 
        .setStyle("可以放很长的文本")
        在通知时是可以显示的
        
        .setStyle(new NotificationCompat.BigPictureStyle().bigPicture(
            BitmapFactory.decodeResource(getResource(), R.drawable.big_image)))
        在通知栏上显示图片
        
        .setPriority(NotificationCompat.PRIORITY_MAX)
        将通知的重要程度设置到最高,手机会在任何时候显示通知


    8.3 调用摄像头和相册


    8.4 播放多媒体文件
        


        
        

        
        


        


            

    
    

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值