在Android 10(API 29)更新后,Android的震动应用程序可能不再工作,这是由于Android 10引入了一些变更以增强用户隐私和数据保护。为了使震动应用程序能够在Android 10上正常工作,您可以使用以下解决方法:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.VIBRATE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.VIBRATE}, 0);
}
}
Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
VibrationEffect effect = VibrationEffect.createOneShot(1000, VibrationEffect.DEFAULT_AMPLITUDE);
vibrator.vibrate(effect);
} else {
vibrator.vibrate(1000);
}
通过以上步骤,您的Android 10上的震动应用程序应该能够正常工作了。请确保您已经更新了相关的权限和代码以适应Android 10的变更。
上一篇:Android 10(API29)通过ConnectivityManager连接时会缓存密码并导致连接失败。
下一篇:Android 10:android:foregroundServiceType="mediaProjection"与服务不起作用。