Android:手机会忽略正确的振动代码

时间:2014-11-07 19:47:20

标签: android android-vibration

设置。 单击按钮时,我想让手机振动。我使用SO question: How to make an Android device vibrate?的代码。

让手机振动的代码:

@Override
public void onClick (View view)
{
    Vibrator vibrator = (Vibrator) MyActivity.this.getSystemService (Context.VIBRATOR_SERVICE);

    if (vibrator.hasVibrator()) {
        Log.v ("Can Vibrate", "YES");
    } else {
        Log.v("Can Vibrate", "NO");
    }
        vibrator.vibrate (1000);
    }

我还添加了权限

<uses-permission android:name="android.permission.VIBRATE"/>

到清单文件。

问题。 点击按钮后手机根本不振动。我手机上的其他应用程序会让手机振动。

记录消息。

xxxx V/Can Vibrate﹕ YES
xxxx V/Vibrator﹕ Called vibrate(long) API - PUID: 10060, PackageName: de.creamin.vibratetest
xxxx V/Vibrator﹕ vibrate - PUID: 10060, PackageName: de.creamin.vibratetest, ms: 1000, mag: -1

电话。 三星Galaxy S3(GT-I9300),Android 4.3

问题。这里发生了什么?我是否必须以某种方式配置我的手机以接受振动代码?

2 个答案:

答案 0 :(得分:3)

我发现为什么我的手机没有振动。在菜单项

phone settings > My device > Sound > Vibration intensity

您可以调整Incoming callNotificationHaptic feedback的振动强度。 Notification的设置已设置为零。因此,我的手机没有振动。将该滑块设置为大于零的值后,单击我的应用程序中的按钮,手机会振动。

答案 1 :(得分:0)

无需传递MyActivity。这可能是。尝试:

Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE)