我想在我的应用程序中使用振动器方法,我已经在我的手机上使用了它,它有一个很棒的振动器。但是没有振动器的电话会发生什么。它根本不起作用吗?它会阻止应用程序运行吗?或者它根本没有出现在市场上?还是我必须询问手机是否有振动器?
我也想知道这段代码好不好,需要修改吗?这是我的代码..
Vibrator vi;
vi = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vi.vibrate(100);
<uses-permission android:name="android.permission.VIBRATE" /> (In manifest)
谢谢,任何帮助都会很棒。
最佳答案
查看文档,http://developer.android.com/reference/android/os/Vibrator.html
您需要做的就是检查手机上是否有振动器,如下所示:
Vibrator vi;
vi = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
if(vi.hasVibrator()){
vi.vibrate(100);
}
由于振动许可,Android 市场可能会将您的应用程序过滤到只有带振动的手机。为避免这种情况,您可以使用具有 required="false"属性的标签
<uses-permission android:name="android.permission.VIBRATE" />
<uses-feature android:name="there.isnt.a.vibrate.feature" android:required="false" />
全部记录在这里:
http://developer.android.com/guide/topics/manifest/uses-permission-element.html
http://developer.android.com/guide/topics/manifest/uses-feature-element.html
然而
没有振动功能字符串,因此 Android 电子市场不会过滤您的应用程序,因为您正在使用振动权限。所以您可以只使用 uses-permission 并在 Java 代码中进行检查。
设备需要振动器才能与安卓市场兼容,但这当然不适用于亚马逊和其他应用程序市场(Barnes & Noble Nook 没有振动器)。
这是由 Dianne Hackthorn(Google 的 Android 首席开发人员)对此线程的回复支持的: http://groups.google.com/group/android-developers/browse_thread/thread/7713e796ea2d0f5f
关于Android:振动器法(如果手机没有振动器?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8863363/