【问题记录】Unity打包Android,添加VIBRATE权限后,还是会有报错SecurityException: Requires VIBRATE permission

前提:

项目添加手机震动功能,未使用Unity自带震动方法Handheld.Vibrate(),使用第三方插件实现,手动配置AndroidManifest文件添加Android震动权限:

    <uses-permission android:name="android.permission.VIBRATE" />

问题:

Unity打包Android后,震动功能无效,报错没有震动权限:

AndroidJavaException: java.lang.SecurityException: Requires VIBRATE permission

原因:

不使用Unity自带震动方法Handheld.Vibrate(),Unity识别不到项目内使用了震动权限,打包时会自动删除震动权限,即使在AndroidManifest中手动配置了,还是会删除(离个大谱);

即使不使用Unity自带震动功能,也得调用一下Handheld.Vibrate()方法,这样才能保证打包时Unity会添加震动权限(也不需要在AndroidManifest中手动配置了)

解决:

增加一个方法来调用Handheld.Vibrate()

    //保留接口(用于设置Android手机震动权限),不可删除,不可调用
    public static void Test()
    {
        Handheld.Vibrate();
    }

猜你喜欢

转载自blog.csdn.net/qq_39108767/article/details/128846614