android – 仅在某些设备上需要Vibrate权限

前端之家收集整理的这篇文章主要介绍了android – 仅在某些设备上需要Vibrate权限前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在测试我的应用程序使用NotificationManager发送一个振动的通知.目前,我的清单中没有Vibrate权限.我理解需要它,但是在未经许可的情况下看到设备之间的一些奇怪的行为.
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>

我主要测试一个Galaxy S4,它可以让我做振动,即使没有许可设置.这是在Android 4.3上.我刚刚测试了三星Galaxy Nexus,它在尝试振动时产生了运行时异常,表明我没有获得许可. Nexus适用于Android 4.3.

我知道我应该获得许可,但为什么S4似乎并不关心它缺少许可? S4 stock ROM真的不关心权限吗?

这是产生的内部异常,因为它的价值:

Caused by: java.lang.SecurityException: Requires VIBRATE permission
        at android.os.Parcel.readException(Parcel.java:1431)
        at android.os.Parcel.readException(Parcel.java:1385)
        at android.app.INotificationManager$Stub$Proxy.enqueueNotificationWithTag(INotificationManager.java:320)
        at android.app.NotificationManager.notify(NotificationManager.java:136)
        at android.app.NotificationManager.notify(NotificationManager.java:109)

解决方法

您应该包含此权限.

我测试了谷歌Nexus 4没有问题,但我必须得到许可,因为像HUAWEY和BQ等其他型号需要它.

猜你在找的Android相关文章