无需权限的震动

我们知道,从安卓6.0以后对于权限管理做了很大的变动,震动也是需要权限申请的,那么我们可不可以在不需要权限到时候让手机震动呢?

经过测试发现,在长按事件中,如果返回true,手机会产生震动。查看源码后发现是调用了这个方法:

v.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS, HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING);
所以,我们就可以这样做了:

1.单击时的震动

tvAddress.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        v.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS, HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING);
    }
});

2.长按时的震动

tvAddress.setOnLongClickListener(new View.OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {
        Toast.makeText(mContext, "长按震动", Toast.LENGTH_SHORT).show();
        return true;
    }
});


你可能感兴趣的:(安卓开发)