手机短震动
cocoscreator版本:v3.5.2
android-sdk 31

微信小程序

  • 小程序直接调用api接口wx.vibrateShort(Object object)即可;
  • 相关文档地址:wx.vibrateShort
  • 代码如下:
/**
 * <a href="https://www.xiaowo6.cn/t/手机震动.html" >手机震动</a>
 * 使手机发生较短时间的振动(15 ms)。仅在 iPhone 7 / 7 Plus 以上及 Android 机型生效
 * type有效值为:heavy、medium、light
 * https://developers.weixin.qq.com/minigame/dev/api/device/vibrate/wx.vibrateShort.html
 */
    public static vibrateShort(type:string) {
    if (sys.platform != 'WECHAT_GAME') return;
    window['wx'].vibrateShort({type:type}).then(res=>{}).catch(err=>{});
}

安卓端

  1. AndroidManifest.xml中注册手机震动权限:
<!--  手机震动权限  -->
<uses-permission android:name="android.permission.VIBRATE"/>
  1. AppActivity.java中编写静态方法,注意需要在UI线程中处理;

// 引入Vibrator
import android.os.Vibrator;

public class AppActivity extends CocosActivity {
    public static AppActivity mAppActivity = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // DO OTHER INITIALIZATION BELOW
        SDKWrapper.shared().init(this);

        mAppActivity = this;
    }
    /*
       *手机震动
       *静态方法,供ts调用
     */
    public static void vibrateShort() {
        //一定要确保在UI线程操作
        mAppActivity.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Vibrator v = (Vibrator) mAppActivity.getSystemService(Context.VIBRATOR_SERVICE);
                v.vibrate(150);// 150毫秒
            }
        });
    }
}
  1. TS中调用vibrateShort方法即可:
/**
 * 手机震动
 * 使手机发生较短时间的振动(15 ms)
 */
    public static vibrateShort(type) {
    if (sys.platform != 'ANDROID') return;
    jsb.reflection.callStaticMethod("com/cocos/game/AppActivity", "vibrateShort", "()V");
}

点赞(0)

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

返回
顶部