我必须启用振动,只有在设备与安卓7+。在以前的版本中,我们可以简单地这样做:
AudioManager aManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
aManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);权限设置为android.permission.VIBRATE。
我如何在Android 7+上实现这一点?
发布于 2017-02-21 09:59:29
我从不使用您的代码进行振动,但我猜下面的代码适用于Android 7+ (未经测试)。
尝试:
import android.os.Vibrator;
[...]
Vibrator v = (Vibrator) this.context.getSystemService(Context.VIBRATOR_SERVICE);
// Vibrate for 500 milliseconds
v.vibrate(500);注意:最好检查一下你的设备是否能振动:
if (v.hasVibrator()) {
Log.v("Can Vibrate", "YES");
} else {
Log.v("Can Vibrate", "NO");
}要获得更多的解释,请看一下的更多precisely answer。
希望它能帮到你!
发布于 2017-02-21 10:08:42
在Android 7中,您需要更改设备设置以切换任何设置参数的权限。您可以在App中看到授予此权限的选项。
你会注意到一个单独的列表项目,
Modify system settings

当您单击它时,您将被要求授予或不授予许可。
默认情况下,此参数设置为No。改变这一点,您的代码将完美地工作。
或者你可以添加权限,
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>,
默认情况下提供访问权限。
我希望这能帮到你。此选项还取决于您所使用的ROM。
发布于 2017-02-21 10:21:21
尝尝这个
在清单中添加权限
<uses-permission android:name="android.permission.VIBRATE"/>然后编写如下代码
import android.os.Vibrator;
...........
Vibrator viber= (Vibrator) this.context.getSystemService(Context.VIBRATOR_SERVICE);
viber.vibrate(500); //("time in milliseconds")https://stackoverflow.com/questions/42363979
复制相似问题