3

どのように機能しNotification.DEFAULT_VIBRATEますか?私が設定した場合:

notification.defaults |= Notification.DEFAULT_VIBRATE;

何が起こるだろう?

ドキュメントは明確ではありません。ネイティブ SMS アプリケーションまたは通話の vibrate-option が 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 に答える