当前位置: 首页 > 编程笔记 >

Android震动与提示音实现代码

颛孙庆
2023-03-14
本文向大家介绍Android震动与提示音实现代码,包括了Android震动与提示音实现代码的使用技巧和注意事项,需要的朋友参考一下

本文实例为大家分享了android消息提示的具体代码,供大家参考,具体内容如下

protected AudioManager audioManager;
 protected Vibrator vibrator;

 audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); //此方法是由Context调用的
 vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE); //同上

 /**
   * vibrate and play tone
   */
  public void vibrateAndPlayTone(EMMessage message) {
   if (System.currentTimeMillis() - lastNotifiyTime < 1000) {
      // received new messages within 2 seconds, skip play ringtone
      return;
    }
    
    try {
      lastNotifiyTime = System.currentTimeMillis();
      
      // check if in silent mode
      if (audioManager.getRingerMode() == AudioManager.RINGER_MODE_SILENT) 
      {
         Log.e("TAG","已经调成静音");
         return;
      }
      long[] pattern = new long[] { 0, 180, 80, 120 };
      vibrator.vibrate(pattern, -1); //震动

      if (ringtone == null) {
         Uri notificationUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

         ringtone = RingtoneManager.getRingtone(appContext, notificationUri);
         if (ringtone == null) {
           Log.d(TAG, "cant find ringtone at:" + notificationUri.getPath());
           return;
         }
       }
        
        
       if (!ringtone.isPlaying()) {
         //String vendor = Build.MANUFACTURER;
          
         ringtone.play();
          // for samsung S3, we meet a bug that the phone will
          // continue ringtone without stop
          // so add below special handler to stop it after 3s if
          // needed
         if (vendor != null && vendor.toLowerCase().contains("samsung")) {
           Thread ctlThread = new Thread() {
             public void run() {
               try {
                 Thread.sleep(3000);
                 if (ringtone.isPlaying()) {
                   ringtone.stop();
                 }
               } catch (Exception e) {
               }
             }
           };
           ctlThread.run();
       }
      
   } catch (Exception e) {
     e.printStackTrace();
   }
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Android实现语音识别代码,包括了Android实现语音识别代码的使用技巧和注意事项,需要的朋友参考一下 苹果的iphone 有语音识别用的是Google 的技术,做为Google 力推的Android 自然会将其核心技术往Android 系统里面植入,并结合google 的云端技术将其发扬光大。 所以Google Voice Recognition在Android 的实现就变得

  • 本文向大家介绍bootstrap提示标签、提示框实现代码,包括了bootstrap提示标签、提示框实现代码的使用技巧和注意事项,需要的朋友参考一下 首先聊一聊提示标签: 效果: 下面讲一讲提示框: 效果: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍android获取情景模式和铃声 实现震动、铃声提醒,包括了android获取情景模式和铃声 实现震动、铃声提醒的使用技巧和注意事项,需要的朋友参考一下 当我们想通过铃声或者震动提醒用户的时候(类似于手机来电提醒界面),我们需要考虑到手机本身的情景模式。(目前有个OPPO的测试手机就发现,即使调为了静音模式,我依旧可以将铃声播放出来),为了防止“灵异”事件的发生,所以在提示前将情景模

  • 本文向大家介绍Android AutoCompleteTextView自动提示文本框实例代码,包括了Android AutoCompleteTextView自动提示文本框实例代码的使用技巧和注意事项,需要的朋友参考一下  自动提示文本框(AutoCompleteTextView)可以加强用户体验,缩短用户的输入时间(百度的搜索框就是这个效果)。 先给大家展示下效果图,如果大家感觉还不错,请参考实现

  • 本文向大家介绍Unity实现苹果手机Taptic震动,包括了Unity实现苹果手机Taptic震动的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Unity苹果手机Taptic震动的具体代码,供大家参考,具体内容如下 文件:ios震动.zip 将上方文件解压之后将MultiHaptic.mm的文件放到Assets/Plugins/iOS目录下,MultiHaptic.cs文件不用挂载

  • 本文向大家介绍iOS中震动反馈(UIFeedbackGenerator)与系统震动详解,包括了iOS中震动反馈(UIFeedbackGenerator)与系统震动详解的使用技巧和注意事项,需要的朋友参考一下 Taptic Engine 先了解一个概念——Taptic Engine Taptic Engine 是苹果产品上推出的全新震动模块,该元件最早出现在 Apple Watch 中。iPhone