該程序的功能如下:用戶有一個電話號碼列表,只有在沒有其他系統範圍的應用程序會提供振動時,手機纔可以在來電時振動(例如如靜音模式)。我知道這在某種程度上違背了規則,因爲應用程序應該尊重用戶的設置,但應用程序僅限於某些具有此需求的用戶。我已經嘗試了兩種方式,但他們都不是令人滿意的:如何爲特定來電提供自定義振動
聽電話態,並用我自己的方式(與
Vibrator.vibrate()
)直接觸發振動服務。當手機處於CALL_STATE_RINGING
狀態時,此方法對於沒有來電仍然有效且我認爲這是因爲與實際處理來電時振動的系統範圍應用程序的衝突。法官是否是手機在來電振動(與
AudioManager.shouldVibrate()
),並決定是否改變振動設置(與AudioManager.setRingerMode()
和AudioManager.setVibrateSetting()
)。如果我的應用程序更改了振動設置,一旦手機恢復到CALL_STATE_IDLE
狀態,它們將被恢復。然而,這種方法有時仍然不起作用,沒有任何理由。
我希望有人能就這個問題提出一些建議。歡迎對這兩種方式或其他建議進行評論。
上有何進展? – Rizon 2012-03-13 22:55:34
@Rizon不幸的是,這個問題贏得了一個風滾草徽章。 – peter 2012-03-14 01:30:32
這是不一樣的,但有人嘗試禁用振動打電話,它證明是不可能的,但結果是有趣的你:http://stackoverflow.com/q/8065862/969325 – Warpzit 2012-04-28 18:59:42