2012-11-05 119 views
3

Notification.DEFAULT_VIBRATE如何工作?如果我設置:Notification.DEFAULT_VIBRATE做什麼?

notification.defaults |= Notification.DEFAULT_VIBRATE; 

會發生什麼事?

文檔不清楚。當且僅當本地短信應用程序或通話的振動選項設置爲true時,如何才能使手機振動?

回答

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)); 
+0

謝謝。有沒有辦法知道短信的設置? – kingston

+0

原始問題是:當且僅當本地短信應用程序或通話的振動選項設置爲true時,如何才能使手機振動? – kingston

+0

還有另一種設置,通常可從本地短信應用程序訪問做決定是否希望手機在收到短信的情況下振動 – kingston