当前位置 主页 > 服务器问题 > Linux/apache问题 >

    android 震动和提示音的实现代码

    栏目:Linux/apache问题 时间:2019-12-10 22:21

    android的消息提示(震动和提示音),实现代码如下所示:

    public class VibratorUtil {
      protected AudioManager audioManager;
      protected Vibrator vibrator;
      private Ringtone ringtone;
      private static final int MIN_TIME_OUT = 4000; //时间间隔
      long lastNotificationTime;
      public VibratorUtil() {
        audioManager = (AudioManager) MyApp.getContext().getSystemService(Context.AUDIO_SERVICE); //此方法是由Context调用的
        vibrator = (Vibrator) MyApp.getContext().getSystemService(Context.VIBRATOR_SERVICE); //同上
      }
      /**
       * 开启手机震动和播放系统提示铃声
       */
      public void vibrateAndPlayTone() {
        if (System.currentTimeMillis() - lastNotificationTime < MIN_TIME_OUT) {
          return;
        }
        try {
          lastNotificationTime = System.currentTimeMillis();
          if (audioManager.getRingerMode() == AudioManager.RINGER_MODE_SILENT) {
            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(MyApp.getContext(), notificationUri);
            if (ringtone == null) {
              return;
            }
          }
          if (!ringtone.isPlaying()) {
            ringtone.play();
            //判断手机品牌
            String vendor = Build.MANUFACTURER;
            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 震动和提示音的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对IIS7站长之家网站的支持!
    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!