The app is crashing on launch when using this plugin. On further investigation, it seems that the getDefaultVibrator()Landroid/os/Vibrator; does not exists which should ideally exists for Android 12. For hot-fix, I'm suggesting adding exception handling during initialisation with fallback to (Vibrator) flutterPluginBinding.getApplicationContext().getSystemService(Context.VIBRATOR_SERVICE);
Stack Trace:
Fatal Exception: java.lang.NoSuchMethodError: No virtual method getDefaultVibrator()Landroid/os/Vibrator; in class Landroid/os/VibratorManager; or its super classes (declaration of 'android.os.VibratorManager' appears in /system/framework/framework.jar!classes2.dex)
at com.benjaminabel.vibration.VibrationPlugin.getVibrator(VibrationPlugin.java:24)
at com.benjaminabel.vibration.VibrationPlugin.onAttachedToEngine(VibrationPlugin.java)
at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.add(FlutterEngineConnectionRegistry.java:147)
at io.flutter.plugins.GeneratedPluginRegistrant.registerWith(GeneratedPluginRegistrant.java:149)
at in.playsimple.crossword.go.MainActivity.configureFlutterEngine(MainActivity.java)
at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(FlutterActivityAndFragmentDelegate.java:220)
at io.flutter.embedding.android.FlutterActivity.onCreate(FlutterActivity.java:645)
at in.playsimple.crossword.go.MainActivity.onCreate(MainActivity.java)
at android.app.Activity.performCreate(Activity.java:8101)
at android.app.Activity.performCreate(Activity.java:8085)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1310)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3515)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3706)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2074)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7783)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
The app is crashing on launch when using this plugin. On further investigation, it seems that the
getDefaultVibrator()Landroid/os/Vibrator;does not exists which should ideally exists for Android 12. For hot-fix, I'm suggesting adding exception handling during initialisation with fallback to(Vibrator) flutterPluginBinding.getApplicationContext().getSystemService(Context.VIBRATOR_SERVICE);Stack Trace: