Android 新消息提示(闪光灯,震动,声音)

您所在的位置:网站首页 华为nova7se怎么设置来消息闪光灯提醒 Android 新消息提示(闪光灯,震动,声音)

Android 新消息提示(闪光灯,震动,声音)

2024-01-15 16:20| 来源: 网络整理| 查看: 265

        好久没有写记录了,最近一个项目要求后台推送一条任务,前端需要有相应的提示响应,最好是有闪光灯、震动并且加铃声。一直没有做过,然后再很多大神博客左看看右看看,然后总结了一下并生成一个工具类,不足之处请指教!废话不多说,直接上代码!

本文是6.0及以上

一、权限声明

 二、闪光灯开启和关闭

/*** 打开闪光灯 */ private void open() { if (isLOLLIPOP()) { try { manager.setTorchMode("0", true); } catch (CameraAccessException e) { e.printStackTrace(); } } } /*** 关闭闪光灯 */ public void close() { if (isLOLLIPOP()) { try { manager.setTorchMode("0", false); } catch (CameraAccessException e) { e.printStackTrace(); } } } /** * 判断Android系统版本是否 >= LOLLIPOP(API21) * * @return boolean */ private boolean isLOLLIPOP() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { return true; } else { return false; } }

  manager.setTorchMode("0", true);

第一个参数“0”表示后置摄像头,1表示前置。

第二个参数“true”表示打开

三、震动提示开启和关闭

/** * 开始震动 */ public void playVibrate() { vibrator = (Vibrator) mContext.getSystemService(Service.VIBRATOR_SERVICE); // 暂停500毫秒,振动0.3秒,暂停150毫秒,振动300秒(可自行调节震幅) long[] vibrationPattern = new long[]{500, 300, 150, 300}; // 第一个参数为开关开关的时间,第二个参数是重复次数,振动需要添加权限 vibrator.vibrate(vibrationPattern, 0);//-1表示震动一次,0表示重复震动 } /** * 关闭震动 */ public void closeVibrate() { vibrator.cancel(); }

四、声音提示开启和关闭

/** * 播放通知声音 */ public void playRingTone() { Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); ringtone = RingtoneManager.getRingtone(mContext, uri); ringtone.play(); } /** * 关闭通知声音 */ private void closeRingTone() { ringtone.stop(); } RingtoneManager是一个铃声管理器结合Ringtone来使用(可百度了解): 管理来电铃声(TYPE_RINGTONE)、提示音(TYPE_NOTIFICATION)、闹钟铃声(TYPE_ALARM)等。

五、闪光灯不停闪光

private void hanler() { runnable = new Runnable() { @RequiresApi(api = Build.VERSION_CODES.M) @Override public void run() { open(); try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } close(); try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } mHandler.postDelayed(this, 200); //这里可以控制提示状态的执行次数 } }; }

以上这些直接用就可以了,但是有一个细节需要注意:

每次在调用闪光灯方法的时候,切记每次调用都要重新初始化,否则会报错,错误意思大概就是已有打开摄像头的异常需要释放

目前就这样了,可以直接使用,如果需要资源到这里下载已封装好的Util类

END



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3