Android 震动

本文介绍了Android中用于设备震动的 ShockUtils 类,包括不同震动模式的实现,如持续震动、间隔震动和无限震动。提供了详细的代码示例,涵盖了设置震动时长、频率和重复次数的方法,以及如何取消震动。通过这个类,开发者可以轻松地在应用中添加震动效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

没啥好说的,直接上代码



/**
 * 震动管理类
 * 不要漏了权限android.permission.VIBRATE
 */
public class ShockUtils {
//    /**
//     * 震动milliseconds毫秒,这个是持续震动,没有停顿
//     *
//     * @param activity
//     * @param milliseconds
//     */
//    public static void shock(Context activity, long milliseconds) {
//        Vibrator vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE);
//        vib.vibrate(milliseconds);
//    }

    /**
     * 以500,500的频率震动seconds秒
     *
     * @param context
     * @param seconds
     */
    public static void shock(Context context, int seconds) {
        long[] patter = new long[seconds * 2];
        Arrays.fill(patter, 500);
        shock(context, patter, -1);
    }


    /**
     * 以500,500的方式无限震动
     *
     * @param context
     */
    public static void shock(Context context) {
        long[] patter = {500, 500, 500, 500};
        shock(context, patter, 0);
    }

    /**
     * 以pattern[]方式震动
     *
     * @param context
     * @param pattern
     * @param repeat  -1-一直震 0-震完一组之后再从数组的[0]开始再震一组,无限循环
     */
    public static void shock(Context context, long[] pattern, int repeat) {
        Vibrator vib = (Vibrator) context.getSystemService(Service.VIBRATOR_SERVICE);
        vib.vibrate(pattern, repeat);
    }

    /**
     * 取消震动
     *
     * @param activity
     */
    public static void shockCancel(Context activity) {
        Vibrator vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE);
        vib.cancel();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值