3

如何Notification.DEFAULT_VIBRATE工作?如果我设置:

notification.defaults |= Notification.DEFAULT_VIBRATE;

会发生什么?

文档不清楚。当且仅当本机短信应用程序或呼叫的振动选项设置为 true 时,如何使手机振动?

4

1 回答 1

3

您需要添加以下许可才能启用振动。

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

为了检测振动模式,您可以使用 AudioManager 的getRingerMode()方法

    AudioManager audiomanager = (AudioManager)
                                getSystemService(Context.AUDIO_SERVICE);

    switch (audiomanager.getRingerMode()) {
        case AudioManager.RINGER_MODE_SILENT:
            Log.i("Mode","Silent mode");
            break;
        case AudioManager.RINGER_MODE_VIBRATE:
            Log.i("Mode","Vibrate mode");
            break;
        case AudioManager.RINGER_MODE_NORMAL:
            Log.i("Mode","Normal mode");
            break;
    }

编辑

您可以使用以下代码检查用户的呼叫和通知的振动设置

Log.i("Setting", ""+audiomanager.shouldVibrate(AudioManager.VIBRATE_TYPE_RINGER));
Log.i("Setting", ""+audiomanager.shouldVibrate(AudioManager.VIBRATE_TYPE_NOTIFICATION));
于 2012-11-05T14:06:07.090 回答